BOOT_COMPLETED インテント フィルターをリッスンする必要があります。引用したコードは、デバイスの起動時に起動するBroadcastReceiverからのものです。
このクラスは から拡張する必要がありBroadcastReceiver
ます:
public class BootReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
...
}
}
次に、次の手順を実行して、そのレシーバーをマニフェスト ファイルに登録する必要があります。
<receiver
android:enabled="true"
android:name="your_package.BootReceiverClassName"
android:permission="android.permission.RECEIVE_BOOT_COMPLETED">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</receiver>
また、次の許可が必要です。
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"></uses-permission>
ちなみに、アプリがSDカードにインストールされていないことを確認する必要があります。そうしないと、機能しません(ただし、回避策はあります)。