まず、レシーバーを作成する必要があります。
public class BootCompletedReceiver extends BroadcastReceiver {
final static String TAG = "BootCompletedReceiver";
@Override
public void onReceive(Context context, Intent arg1) {
Log.w(TAG, "starting service...");
context.startService(new Intent(context, YourService.class));
}
}
次に、AndroidManifest.xml にアクセス許可を追加します。
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
インテントレシーバーを登録します。
<receiver android:name=".BootCompletedReceiver" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
これが完了すると、アプリケーション (Application
クラス) はサービスと共に実行されますが、アクティビティは実行されません。
ああ、アプリケーションを SD カード (APP2SD など) に置かないでください。ブートが完了した直後に使用できるようにするには、アプリケーションをメイン メモリに常駐させる必要があるからです。