2016-12-02 190 views
0

我目前正在開發一個android應用程序,我需要設置將在特定日期和時間觸發並顯示通知的持久性警報。它運行良好,但系統在重新啓動時會清除所有警報。android-我需要保持在重新啓動後堅持警報?

從其他的問題,我知道,如果我爲創建廣播接收器 BOOT_COMPLETED我可以重新武裝解除警報。我的問題是:我需要保留哪些警報以便在需要時重新裝備它們?

有人說我需要堅持所有的意圖額外和火日期時間重新啓動時重新創建掛起的意圖。

也有人說,如果我只堅持了requestCode爲待定的意圖,重新啓動後,我可以使用此代碼來獲取取消掛起的意圖,並重整了警鐘,因爲當設備重新啓動掛起的意圖只是取消而不是已刪除。

哪一個是正確的做法呢?

謝謝!

+2

「需要保留哪些警報以便在需要時重新裝備它們?」 - 您首先使用相同的信息安排警報。 「其他人說,如果我只堅持待定意圖的請求代碼,在重新啓動後,我可以使用此代碼獲取取消的待處理意圖並重新設置警報,因爲當設備重新啓動時,待處理意圖只是取消而不是刪除」 - 總之,沒有。 AFAIK,'PendingIntent'無法在重新啓動後存活。 – CommonsWare

回答

0

PendingIntents在重新啓動後不會持續,因此爲了安全起見,只需在BroadcastReceiver中重新啓動警報,並使用第一次初始化警報時所做的所有附加功能,並保持請求代碼相同。

+0

此外,如果您對請求代碼的功能感興趣,請查看http://stackoverflow.com/questions/21526319/whats-requestcode-used-for-on-pendingintent –