2013-03-12 173 views
1

我安排了一个闹钟,每天在同一小时触发。我将它设置为重复报警(使用AlarmManager.setRepeating()),并且每触发一次24 * 60 * 60 * 1000毫秒(24小时)。我不知道我是否必须控制夏时制的变化,或者是否是自动的。AlarmManager,重复报警和夏令时

我测试这与:

  1. 我改变移动装置的时间为一分钟夏令时变化(1:59)(变化是从上午02点到上午03点)之前。
  2. 我安排了一个闹钟到3:01
  3. 我等了2分钟,闹钟开了OK。

但是,如果我设置了每天运行该警报,例如,夏令时时间改变前2天......夏令时时间更改后,它会按预期运行吗?还是我需要控制它?

回答

1

你需要添加一个TIMEZONE_CHANGED接收器和reshedule您的报警(停止和重新启动)

<receiver android:name="RecevierTimeZoneChange"> 
    <intent-filter> 
    <action android:name="android.intent.action.TIMEZONE_CHANGED"></action> 
    </intent-filter> 
</receiver> 
+0

谢谢你的回答道奇。我会测试,并且如果它能正常工作,我会将您的答案标记为已接受! :D – 2013-03-12 13:12:44

+0

我测试过了。它在我手动更改时区时有效,但由于夏令时更改而自动更改时,它不会激发:(所以我不能重新安排我的警报:'( – 2013-03-12 13:47:55

+0

嗯,那很糟糕...然后我没有想法。对不起:( – Dodge 2013-03-12 17:28:15

0

您需要使用TIME_TICK意图也。 Android的每次更改都会触发此意图。 也通过网络自动完成的未成年人更正。