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

在Android Oreo中更新应用程序后如何重新启动前台服务?,android,restart,android-8.0-oreo,android-implicit-intent,Android,Restart,Android 8.0 Oreo,Android Implicit Intent,我们需要在应用程序从Google Play自动更新后重新启动应用程序的前台服务。对于SDK

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

首先,并非所有隐性广播都被禁止。有

第二,是一个明确的广播,只发送到你的应用程序。引述:

针对Android 8.0或更高版本的应用程序不能再在其清单中为隐式广播注册广播接收器。隐式广播是不专门针对该应用程序的广播。例如,ACTION_PACKAGE_REPLACED是一个隐式广播,因为它被发送给所有注册的侦听器,让他们知道设备上的某个包被替换了。但是,ACTION_MY_PACKAGE_REPLACED并不是一个隐式广播,因为它只发送给包被替换的应用程序,而不管有多少其他应用程序为该广播注册了侦听器


因此,您应该能够注册
操作\u我的\u软件包\u已替换
,并在那里重新启动您的服务。

据我所知,您仍然可以从活动中手动注册广播接收器,而不是通过不允许的清单注册接收器。此选项不适用于我们,因为接收器在应用程序更新期间未注册。嗨,Commonware,你能研究一下这个问题吗。