gpt4 book ai didi

java - alarmmanager 总是在重启后被清除吗?

转载 作者:太空狗 更新时间:2023-10-29 16:20:28 25 4
gpt4 key购买 nike

简单的问题:AlarmManager always 在重启后是否被清除?它是否在所有设备上重新启动后被清除,甚至当用户在他启动设备后不久启动他的设备时也是如此?

我需要知道这一点,因为我在 OnBootReceiver 中重新创建了我的应用程序的警报,并且我想避免设置双重警报。

最佳答案

is the AlarmManager always cleared after reboot?

绝对是完全重启。有些设备具有“快速启动”功能(我想到了 HTC),但我还没有进行实验来了解其中的行为。

and even when the user boots his device up very shortly after he booted it off?

是的。

I need to know this because I recreate my app's alarm in an OnBootReceiver and I want to avoid having double alarms set.

警报有效地存在于由 PendingIntent 键入的 HashMap 中。使用等效的 PendingIntent 设置警报应该替换之前的警报。 “等效”是指:

  • 相同的操作( Activity 、服务、广播)
  • 相同的请求代码
  • 等效 Intent(通过 filterEquals() 匹配,这几乎意味着它匹配除 extra 之外的所有内容)
  • 在定义新的 PendingIntent 时,我会对使用 FLAG_CANCEL_CURRENT 感到紧张

您可以使用 adb shell dumpsys alarm 来确认设置了哪些警报,这样您就可以确定最终设置了正确数量的警报。

关于java - alarmmanager 总是在重启后被清除吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16373610/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com