【问题标题】:Do Android AlarmManagers continue to run after an app update?Android AlarmManagers 会在应用更新后继续运行吗?
【发布时间】:2014-08-22 15:38:05
【问题描述】:

据我所知,如果您安排一个无限重复的警报,它不会停止运行,直到您重新启动设备或卸载应用程序。

我想知道,在应用更新时这些行为如何?例如,您从 Play 商店下载应用程序的第 1 版,然后运行该应用程序,此警报开始运行。然后发布第二版并执行自动或手动更新。此闹钟是否仍会继续运行(或者您必须再次启动应用程序才能启动闹钟)?

在我的场景中,我确实需要它这样做,所以我希望答案是它会继续运行。但是,如果您在版本 2 中更改了警报代码,会发生什么?

【问题讨论】:

    标签: android alarmmanager android-alarms repeatingalarm


    【解决方案1】:

    答案似乎是,在大多数 Android 版本的应用更新后,AlarmManager 警报确实会继续运行。当然适用于 Android 2.2 或更高版本。 AlarmManagerService 中的 UninstallReceiver 已更新,可以在不终止警报的情况下处理包更新 - 请参阅 here,其中有明确的评论:

    // 这个包正在更新中;不要杀死它的警报。

    处理这个问题的代码不在 2.1 AlarmManagerService.UninstallReceiver

    我意识到这可能是 3 年来最好的部分,无法帮助 OP,但希望它可以帮助其他人。

    【讨论】:

      【解决方案2】:

      执行this 之类的操作。

      基本上,如果您的应用每次启动时都使用相同的 ID 重新运行 PendingIntent,如果它正在运行,则不会发生任何事情,如果它没有运行,它将开始运行。

      这样您就不必担心更新后闹钟会丢失。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-08-25
        • 1970-01-01
        • 2022-11-18
        • 2021-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多