web-dev-qa-db-ja.com

BOOT_COMPLETEDレシーバーをAndroid 8に登録しています

アプリを更新しようとしていますAndroid API 26. Broadcast receiver に関するドキュメントでは、

Android 8.0以降を対象とするアプリは、マニフェストで暗黙的なブロードキャストのブロードキャストレシーバーを登録できなくなりました

暗黙の放送受信機は、

そのアプリを特に対象としないブロードキャスト。たとえば、ACTION_PACKAGE_REPLACED

したがって、_Android.intent.action.BOOT_COMPLETED_は暗黙のレシーバーと見なされます。

さらに、Context.registerReceiver()を使用してActivity内に暗黙のレシーバーを登録する必要があると述べています。しかし、それは_BOOT_COMPLETED_イベントをリッスンしているレシーバーには意味がありません。

これを処理する適切な方法は何ですか?このレシーバーをマニフェストに保持できますか?

13
4ndro1d

BOOT_COMPLETEDは引き続き受け入れられます。

https://developer.Android.com/guide/components/broadcast-exceptions.html

何も変更する必要はありません。 Android 8。

13
Frank

ACTION_BOOT_COMPLETEDはオンです 暗黙のブロードキャストホワイトリスト なので、マニフェストに登録できます。

9
CommonsWare