更新应用程序时 BroadcastReceiver 会发生什么?

What happens to BroadcastReceiver when application is updated?

我在我的应用程序中使用 AlarmManagerBroadcastReceiver 设置闹钟(每 10 分钟启动一次)。

当应用程序更新时(通过 Google Play 更新或通过 ADB 直接安装更高版本代码的应用程序)究竟会发生什么,接收器是否仍然有效?我可以在更新应用程序时触发一些与 BroadcastReceiver 相关的操作吗?

您使用 AlarmManager 创建警报。 是什么让您使用 BroadcastReceiver 创建警报?

您是否有 2 个应用程序并且正在使用 app1 的 BroadcastReceiver 启动 app2 的闹钟[管理器]?

否则,我认为您的方法是错误的,BroadcastReceiver 是多余的。

更新
根据你更新的问题,问题的症结似乎是:

如果更新应用程序,BroadcastReceiver 会工作吗?
只要您的应用程序的更新版本中有正确的 BroadcastReciever 代码,它就会。


应用更新时是否可以触发一些BroadcastReceiver相关的动作?
您想更改您的 BroadcastReceiver/删除您的 BroadCastreceiver -- 您可以。

想要一些特定的代码在更新应用程序时触发:按照 ben75 的建议使用 ACTION_PACKAGE_REPLACED

您可以为操作注册接收器 ACTION_PACKAGE_REPLACED,以便在您的应用程序更新时收到通知。

但是,在您的特定用例中:您可能会在应用启动时设置闹钟。应用程序更新后:您的应用程序再次启动,因此闹钟将正确设置。