私はデバイス起動完了時に開始できるサービスに取り組んでいます。サービス実行状態を保存するために設定ファイルを設定していますので、ブロードキャストレシーバーで必要なときに取得できます。起動済みのブロードキャストレシーバーコンテキストパラメーター
public class MyServiceBootReceiver extends BroadcastReceiver {
public MyServiceBootReceiver() {super();}
@Override
public void onReceive(Context context, Intent intent) {
if(intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED)) {
if(MyService.isRunning(context)) //static method to get shared preferences value
context.startService(new Intent(context, MyService.class));
}
}
}
デバイスコンテキストが受信機に送られるシャットダウン、ある場合にアプリケーションとそのすべてのコンポーネントが破壊されるので、今は、onReceive()メソッドの「コンテキスト」パラメータについて混乱しています、アプリケーションのコンポーネントが実際にそれを受け取っていますか?
ドキュメントには次のように書かれています(https://developer.android.com/reference/android/content/BroadcastReceiver.html#onReceive(android.content.Context、android.content.Intent))_Context:受信機が起動しています._ – fsnasser
起動時に私のアプリケーションコンポーネントは何も実行していませんか?ただし、アンドロイドOSが破壊されても私のアプリへの参照を保持している場合を除きます! – Altaiir