2013-03-12 179 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的每次更改都會觸發此意圖。 也通過網絡自動完成的未成年人更正。