gpt4 book ai didi

android - Android Oreo 中应用程序更新后如何重新启动前台服务?

转载 作者:行者123 更新时间:2023-11-29 16:40:49 24 4
gpt4 key购买 nike

我们需要在应用程序从 Google Play 自动更新后重新启动应用程序的前台服务。对于 SDK < 26,我们在 PACKAGE_REPLACED actoin 上注册了接收器,一切正常。如果隐式 Intent 被禁止,我们如何在 SDK 26 中做同样的事情?谢谢。

最佳答案

首先,并非所有隐式广播都被禁止。有a whitelist .

第二,ACTION_MY_PACKAGE_CHANGED是一个显式广播,仅发送到您的应用程序。引用the documentation :

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. However, ACTION_MY_PACKAGE_REPLACED is not an implicit broadcast, since it is sent only to the app whose package was replaced, no matter how many other apps have registered listeners for that broadcast.

因此,您应该能够注册 ACTION_MY_PACKAGE_REPLACED,并在那里重新启动您的服务。

关于android - Android Oreo 中应用程序更新后如何重新启动前台服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50778456/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com