2011-12-04 33 views
3

我正在Android中構建鬧鐘應用程序。 AlarmManager會自動處理夏令時和冬令時之間的時鐘變化,還是我需要明確地管理它?Android AlarmManager是否處理夏時制變更?

編輯:如果在重複間隔越過時鐘改變時設置了鬧鐘,那麼該鬧鐘是否需要重新安排?

回答

2

AlarmManager將照顧當天的節能。它會在每天開始時重置時區信息並考慮夏令時信息。

+0

因此,我不需要每天重新安排警報? (請參閱我在原始問題中的編輯)。 – Leo

+1

它應該正常工作,因爲AlarmManager將在每天的開始時重新計算,並考慮當天的節電。 – havexz

+0

太好了 - 謝謝! – Leo

4

與接受的答案相反,我在應用程序中看到了不同的行爲,因此我有一項任務在午夜後幾分鐘運行。

夏令時更改後,任務在晚上11:00之後開始運行幾分鐘,導致任務返回錯誤結果(任務會檢查當前日期並相應地查詢內容)。

所以我的答案是 - 是的,你需要明確地管理它。編輯:我們的任務需要在指定的時間每天運行一次。 爲了解決這個問題,我們保存上次運行的應用程序,並在任務再次運行時檢查該時間戳。 如果時間戳不是24小時(可能是由於DST更改導致的23小時或25小時),我們會中止AlarmManager並安排新的時間戳。 所以我們每年最多有2次「錯過」(我們可以忍受這一次)。

+0

由於夏令時改變,我的應用程序也失敗了。如何管理它? –

+0

查看我的編輯以瞭解我們如何解決它。 – marmor

+0

謝謝marmor!我終於通過編程下一次鬧鐘來解決它,每次發生這種情況時,現在工作正常:) –

相關問題