更新应用程序时 BroadcastReceiver 会发生什么?
What happens to BroadcastReceiver when application is updated?
我在我的应用程序中使用 AlarmManager
和 BroadcastReceiver
设置闹钟(每 10 分钟启动一次)。
当应用程序更新时(通过 Google Play 更新或通过 ADB 直接安装更高版本代码的应用程序)究竟会发生什么,接收器是否仍然有效?我可以在更新应用程序时触发一些与 BroadcastReceiver
相关的操作吗?
您使用 AlarmManager 创建警报。
是什么让您使用 BroadcastReceiver 创建警报?
您是否有 2 个应用程序并且正在使用 app1 的 BroadcastReceiver 启动 app2 的闹钟[管理器]?
否则,我认为您的方法是错误的,BroadcastReceiver 是多余的。
更新
根据你更新的问题,问题的症结似乎是:
如果更新应用程序,BroadcastReceiver 会工作吗?
只要您的应用程序的更新版本中有正确的 BroadcastReciever 代码,它就会。
应用更新时是否可以触发一些BroadcastReceiver相关的动作?
您想更改您的 BroadcastReceiver/删除您的 BroadCastreceiver -- 您可以。
想要一些特定的代码在更新应用程序时触发:按照 ben75 的建议使用 ACTION_PACKAGE_REPLACED
您可以为操作注册接收器 ACTION_PACKAGE_REPLACED,以便在您的应用程序更新时收到通知。
但是,在您的特定用例中:您可能会在应用启动时设置闹钟。应用程序更新后:您的应用程序再次启动,因此闹钟将正确设置。
我在我的应用程序中使用 AlarmManager
和 BroadcastReceiver
设置闹钟(每 10 分钟启动一次)。
当应用程序更新时(通过 Google Play 更新或通过 ADB 直接安装更高版本代码的应用程序)究竟会发生什么,接收器是否仍然有效?我可以在更新应用程序时触发一些与 BroadcastReceiver
相关的操作吗?
您使用 AlarmManager 创建警报。 是什么让您使用 BroadcastReceiver 创建警报?
您是否有 2 个应用程序并且正在使用 app1 的 BroadcastReceiver 启动 app2 的闹钟[管理器]?
否则,我认为您的方法是错误的,BroadcastReceiver 是多余的。
更新
根据你更新的问题,问题的症结似乎是:
如果更新应用程序,BroadcastReceiver 会工作吗?
只要您的应用程序的更新版本中有正确的 BroadcastReciever 代码,它就会。
应用更新时是否可以触发一些BroadcastReceiver相关的动作?
您想更改您的 BroadcastReceiver/删除您的 BroadCastreceiver -- 您可以。
想要一些特定的代码在更新应用程序时触发:按照 ben75 的建议使用 ACTION_PACKAGE_REPLACED
您可以为操作注册接收器 ACTION_PACKAGE_REPLACED,以便在您的应用程序更新时收到通知。
但是,在您的特定用例中:您可能会在应用启动时设置闹钟。应用程序更新后:您的应用程序再次启动,因此闹钟将正确设置。