2017-08-31 82 views
6

我们即将更新我们的应用程序的Android API 26.在文档约Broadcast receiver它说,注册BOOT_COMPLETED接收器8.2

应用程序适用于Android 8.0或更高版本不能再注册隐含广播广播接收机在他们的清单

隐式广播接收机被描述为

不针对广播该应用程序具体。例如,ACTION_PACKAGE_REPLACED

所以我假设android.intent.action.BOOT_COMPLETED被认为是一个隐式接收器。

此外,它规定隐式接收者必须使用Context.registerReceiver()Activity内注册。但是这对于正在监听BOOT_COMPLETED事件的接收器来说没有任何意义。

处理这个问题的正确方法是什么?我可以将这个接收器放在我的清单中吗?

+4

[隐式广播例外](https://developer.android.com/guide/components/broadcast-exceptions.html)。 –

回答

6

ACTION_BOOT_COMPLETEDthe implicit broadcast whitelist,所以你可以在清单中注册它。

+0

我在想,原生android应用程序呢?我无法实现甚至'BOOT_COMPLETED',他们必须完成(我猜)。此更改从API 26开始,目前的API为27.您有任何想法吗? – efkan

+0

@efkan:对不起,但我不明白你的意见。你可能想问一个单独的堆栈溢出问题,你更详细地解释你的问题。 – CommonsWare

+0

对不起。我的意思是Google开发人员应该使用API​​ 27开发他们的本地应用程序,如SMS,Duo或Google Drive应用程序。我想知道他们如何通过使用'BOOT_COMPLETED'或其他方式来启动他们的应用程序?你有什么想法吗? – efkan