我们即将更新我们的App Android API 26.在有关Broadcast receiver的文档中,它说明了
针对Android 8.0或更高版本的应用无法再为其清单中的隐式广播注册广播接收器
隐式广播接收器被描述为
专门针对该应用的广播。例如,ACTION_PACKAGE_REPLACED
所以我假设android.intent.action.BOOT_COMPLETED
被认为是一个隐含的接收者。
此外,它指出隐式接收器必须使用Activity
在Context.registerReceiver()
内注册。但对于正在侦听BOOT_COMPLETED
事件的接收器而言,这是没有意义的。
处理此问题的正确方法是什么?我可以将这个接收器放在我的清单中吗?
答案 0 :(得分:11)
仍然接受BOOT_COMPLETED。
https://developer.android.com/guide/components/broadcast-exceptions.html
无需改变任何东西。确保您在Android 8中进行测试。
答案 1 :(得分:8)
ACTION_BOOT_COMPLETED
位于the implicit broadcast whitelist,因此您可以在清单中注册。