android 시스템에서 부팅시 바로 app 이 실행되게 하는 코드입니다.

 

먼저 BroadcastReceiver 를 하나 만듭니다.

 

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;

 

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")) {
                        Intent i = new Intent(context, MainActivity.class);
                        i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                        context.startActivity(i);
                }
        }

}

 

이 리시버는 BOOT_COMPLETED 메세지를 받아서 MainActivity 를 실행시켜주는 역활을 합니다.

 

그리고 AndroidManifest.xml 에 권한을 수정하고 receiver 를 등록합니다.

 

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

 

    <application .....>

        <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>

    </application>

 

 

이렇게 하면, 이제 시스템이 부팅되면 broadcast 메세지를 받아서 해당 app 의 activity 가 실행되게 됩니다.