2012-07-25 123 views
5

我正在編碼一個鬧鐘應用程序,我想知道發生了什麼,當我用AlarmManager設置一些鬧鐘時,例如在時間2:59 am(這不是我的鬧鐘時間,這只是當我設置時間一些報警),並且在凌晨3:00,夏令時到夏令時自動變換時間(DST)。我的預定警報會發生什麼?我在文檔中找不到任何東西,而且測試起來也不是那麼容易,至少我必須更改日期並等待幾個小時......我沒有那麼耐心;)Android AlarmManager和DST /時區/時間更改?

下一個問題 - 我也很好奇,當用戶更改時區時,使用AlarmManager設置我的鬧鐘。這很幸運很容易測試,我發現,android非常「智能」,並自動重新安排警報。因此,當我在我的時區例如9:00,並在10:00設置鬧鐘,並切換實時時間爲10:00的時區(+1小時)時,android會按預期將鬧鐘重新安排到11:00。這是非常好的,但是,我也沒有發現任何文檔...

任何人有更多的官方信息? THX

回答

10

RTCRTC_WAKEUP使用System.currentTimeMillis()作爲時基,這是在UTC時間,因此是獨立的時區變化,夏令時改變等

+1

偉大的,這就是我想知道的。 Thx很多...我也在文檔中發現它,我的錯誤。 – qkx 2012-07-25 14:10:39

+1

但是,如果用戶手動進入日期和時間設置並更改系統時間/日期,這仍會影響到您。 – matt5784 2013-06-18 04:54:04

3

警報只會取決於系統時間。警報不受日光節能的影響,只有系統時間發生變化。報警將根據系統時間和無論哪個區域,設備是在(或將在)