Android AlarmManager是否可以处理夏令时变化?

时间:2011-12-04 19:09:09

标签: android alarmmanager

我正在Android中构建一个闹钟应用程序。 AlarmManager是否会在夏季和冬季之间自动处理时钟变化,还是需要明确管理?

编辑:如果设置了重复间隔超过时钟的警报,那么该警报是否需要重新安排?

2 个答案:

答案 0 :(得分:5)

与接受的答案所说的相反,我在我的应用程序中看到了不同的行为,我在午夜后的几分钟内每天都有一个任务。

在夏令时更改后,任务在晚上11:00后开始运行几分钟,导致任务返回错误结果(任务会检查当前日期并相应地查询内容)。

所以我的回答是 - 是的,你需要明确地管理它。

编辑:我们的任务需要在指定时间每天运行一次。 要解决此问题,我们会保存上次运行应用程序的时间,并在任务再次运行时检查时间戳。 如果时间戳不是24h(由于DST更改可能是23h或25h),我们将中止AlarmManager并安排新的时间戳。 因此,我们每年最多有2次“错过”运行(我们可以忍受)。

答案 1 :(得分:2)

AlarmManager将负责节省光线。它会在每天开始时重置时区信息,并考虑夏令时信息。