android | 디바이스 부팅시 앱 실행하는 방법 / 재부팅 시 어플 실행하는 방법

2016.03.30 14:42mobile/android

 

 

 

andoird 개발을 할 때 백그라운드에서 서비스가 계속 작동해야 할 경우나

 

앱을 재시작 할 경우 최초 실행되어야 하는 앱을 만들 일이 생겼다.

 

(채팅, 알람 등)

 

BroadcastReceiver 를 사용하면 쉽게 만들 수 있다.

 

 

 

요약 :

1. BroadcastReceiver 를 상속받은 클래스 생성

2. Manifest 에 permission(퍼미션) 등록

3. Manifest에 receiver(리시버) 등록

 

 

 

 

1. Class 생성

1
2
3
4
5
6
7
8
9
10
public class StartReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        String action= intent.getAction();
 
        if( action.equals("android.intent.action.BOOT_COMPLETED") ){
 
        }
    }
}
cs

1번 라인 : BroadcastReceiver 를 상속받는 클래스 생성한다.

3번 라인 : onReceive 함수는 BroadcastReceiver 실행될 때 자동 실행한다.

4번 라인 : Manifest 파일안에 현재 등록한 Receiver에게 적용된 필터(Filter)의 Action만 받아온다.

6번 라인 : action값을 확인하여 시스템 상태가 부팅을 완료했는지 체크한다.

7번 라인 : 서비스를 실행하거나 Intent로 Activity 호출한다.

 

 

 

2. Manifest 에 permission(퍼미션) 등록

1
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
cs

 

 

 

3. Manifest에 receiver(리시버) 등록

1
2
3
4
5
6
7
8
9
        <receiver
            android:name=".StartReceiver"
            android:enabled="true"
            android:exported="false"
            android:label="STARTReceiver">
            <intent-filter >
                <action android:name="android.intent.action.BOOT_COMPLETED"/>
            </intent-filter>
        </receiver>
cs

 

6번 라인 : action 할 intent 설정 부분이다.