2016-09-20 24 views
-1

在我的應用程序中,我希望在特定的時間觸發重複報警,以檢查某些情況並在必要時通知用戶。Android如何處理過去設置的報警

我用下面的代碼來調度報警:

Calendar cal = ...; 
... 

mAlarmMgr.setInexactRepeating(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), AlarmManager.INTERVAL_DAY, mAlarmIntent); 

我現在注意到了(因爲我accidentially有錯誤一天cal),該報警會馬上被觸發,如果cal是一些日期/過去的時間。

我們假設它是2016-09-20 18:00:00,我安排了2016-09-20 17:00:00的報警。我會馬上收到一個通知(或安排警報後幾秒鐘)。如果我爲未來的時間安排鬧鐘,例如2016-09-20 18:15:00,則不會發生這種情況。

所以我的問題是:

  1. 將Android總是趕上錯過報警?
  2. 該報警計劃每天更新。那麼它會在明天重複17:00:00還是會在18:00:00,因爲那是報警上次觸發的時間?

回答

2

安卓總是趕上錯過的警報嗎?

如果設置的時間過去了,android會盡快觸發報警。 check the docs

該報警計劃每天進行報警。它會在明天重複 17:00:00還是會在18:00:00,因爲那是上次觸發 報警的時間?

下一次將按時觸發

附加信息:如果使用明確的應用程序的數據或強制關閉從應用程序管理你的應用程序,然後報警不會觸發,直至用戶再次打開應用,加上重啓也會​​導致這個問題。

+1

感謝您確認我所希望的。是否有任何鏈接到我可以閱讀的文檔? –

+0

檢查官方文檔鏈接,它會給你你想要的所有細節爵士@Thorsten Dittmar –

+1

我確實在聽「啓動完成」廣播,因此警報將被正確地重新啓動。 –