我通过AlarmManager设置了一些警报来执行某些定期作业。 当用户第一次打开应用程序时,我会设置/重置它们。在每个boot_complete事件上。 但是当通过ADB重新安装应用程序时,我的警报不会再发生了。看起来操作系统会在重新安装应用程序时删除警报。我认为如果用户也从市场上更新应用程序,就会发生这种情况。
如果我可以在我的应用程序重新安装/升级等时收到广播或某种回调,我可以再次设置闹钟。但我不知道它是否可能或如何? 有人可以帮帮我。
答案 0 :(得分:5)
是的,这是可能的。
您可以创建一个广播接收器来侦听系统发送的任何PACKAGE_*
事件,但除了升级您的应用程序之外,您不会为自己的应用程序接收它们 - 您将获得{{1紧随其后的是PACKAGE_REPLACED
。