AlarmManager,重复报警和夏令时
问题描述:
我安排了一个闹钟,每天在同一小时触发。我将它设置为重复报警(使用AlarmManager.setRepeating()
),并且每触发一次24 * 60 * 60 * 1000
毫秒(24小时)。我不知道我是否必须控制夏时制的变化,或者是否是自动的。AlarmManager,重复报警和夏令时
我测试这与:
- 我改变移动装置的时间为一分钟夏令时变化(
1:59
)(变化是从上午02点到上午03点)之前。 - 我安排了一个闹钟到
3:01
。 - 我等了2分钟,闹钟开了OK。
但是,如果我设置了每天运行该警报,例如,夏令时时间改变前2天......夏令时时间更改后,它会按预期运行吗?还是我需要控制它?
答
你需要添加一个TIMEZONE_CHANGED接收器和reshedule您的报警(停止和重新启动)
<receiver android:name="RecevierTimeZoneChange">
<intent-filter>
<action android:name="android.intent.action.TIMEZONE_CHANGED"></action>
</intent-filter>
</receiver>
答
您需要使用TIME_TICK意图也。 Android的每次更改都会触发此意图。 也通过网络自动完成的未成年人更正。
谢谢你的回答道奇。我会测试,并且如果它能正常工作,我会将您的答案标记为已接受! :D – 2013-03-12 13:12:44
我测试过了。它在我手动更改时区时有效,但由于夏令时更改而自动更改时,它不会激发:(所以我不能重新安排我的警报:'( – 2013-03-12 13:47:55
嗯,那很糟糕...然后我没有想法。对不起:( – Dodge 2013-03-12 17:28:15