查看最新的Android Oreo发行说明,似乎应用程序只能注册少数隐式广播. ACTION_PACKAGE_ADDED和ACTION_PACKAGE_REMOVED不在其中.是否有接收这些广播的解决方法?
解决方法:
Apps that target Android 8.0 or higher can no longer register broadcast receivers for implicit broadcasts in their manifest. An implicit broadcast is a broadcast that does not target that app specifically. For example, ACTION_PACKAGE_REPLACED is an implicit broadcast, since it is sent to all registered listeners, letting them know that some package on the device was replaced.
这表示您无法在清单中注册这些意图.您仍然可以以编程方式注册它们,以便在您的应用运行时接收它们.
您也可以尝试ACTION_PACKAGE_FULLY_REMOVED,这是您仍然可以通过在清单中注册它来听取的exceptions之一.添加包时没有这样的“替代”.
正如CW所说,您还可以定期检查已安装应用程序名单中的更改.
You can also use polling, setting up a JobScheduler job to check every so often, asking PackageManager for what has changed in the roster of installed apps via 07002.
标签:android-8-0-oreo,android
来源: https://codeday.me/bug/20190727/1551251.html