BOOT_COMPLETED でサービスを開始する Android のアプリケーションに取り組んでいます。すべて正常に動作していますが、いくつかのメッセージをログに記録しているときに、アプリケーションを強制終了した後、すぐにまたは 1 分後に再起動することに気付きました。
サービスを開始できる唯一の受信機が BOOT_COMPLETED に登録されます。だから私の質問は、電話がすでに起動した後にアプリケーションが勝手に起動するのはなぜですか。
Android サイトから:
ブロードキャスト アクション: これは、システムの起動が完了した後に 1 回ブロードキャストされます。アラームのインストールなど、アプリケーション固有の初期化を実行するために使用できます。このブロードキャストを受信するには、RECEIVE_BOOT_COMPLETED 権限を持っている必要があります。
私の理解では、このイベントは一度だけブロードキャストされるはずなので、他に何がこのイベントを引き起こしている可能性があります.
編集:これは、BootReceiver (BroadCastReceiver を拡張) でサービスを開始するために使用しているコードです。このコードは他のどこにも複製されていません。
Intent serviceIntent = new Intent(context, RandomToneService.class);
context.startService(serviceIntent);