Android - 应用更新后闹钟丢失

Posted

技术标签:

【中文标题】Android - 应用更新后闹钟丢失【英文标题】:Android - Alarm lost after app update 【发布时间】:2014-06-06 18:28:02 【问题描述】:

我有一个在 android 上运行的应用程序,它会创建一个每 24 小时触发一次的警报。此警报按预期工作。

但是,当我通过 Google Play 更新我的应用时,此警报会丢失,因为最终用户没有在应用更新后立即打开应用。

我的看法是,Android 正在删除我的应用在更新应用时创建的警报。

有人遇到过这种情况吗?有什么方法可以在应用更新时保持警报?

【问题讨论】:

您是正确的,这是预期的行为。每当您的应用程序更新时,任何警报都会停止,再次启动它们的唯一方法是打开应用程序 【参考方案1】:

您的解决方案如下所示:

在您的应用中注册一个广播接收器,其中包含 2 个意图过滤器,即:

    "android.intent.action.BOOT_COMPLETED" - 当您的设备重新启动时调用。设备关闭时会取消警报。 “android.intent.action.MY_PACKAGE_REPLACED” - 在从 Play 商店或任何来源重新安装或更新您的应用后调用。

您还需要“android.permission.RECEIVE_BOOT_COMPLETED”权限。在此接收器中,您可以再次启动闹钟。

【讨论】:

【参考方案2】:

是的,你是对的。应用更新后,应用的服务警报进程将停止。更新的应用程序将在 Andorid 操作系统的停止列表中。

那么在第一次手动启动该应用程序后,只能启动一次警报。

【讨论】:

以上是关于Android - 应用更新后闹钟丢失的主要内容,如果未能解决你的问题,请参考以下文章

当一些闹钟在 Android 中重复时,设置多个闹钟的最佳方式

Android闹钟 AlarmManager的使用

Android闹钟 AlarmManager的使用

我在哪里可以找到android本机闹钟应用程序的时间选择器视图?

更新到 android gradle 插件 3.5 后的 proguard 问题

科尔多瓦闹钟