我的Android應用程序通過在特定時間發送通知來幫助用戶遵循其日常計劃。使用JobScheduler可以輕鬆解決此任務。它看起來簡單,輕便,並且是最新的解決方案。在Android上每天運行計劃任務一次
我在苦苦掙扎的是如何計劃每天的所有通知。我需要運行代碼來檢查用戶的每日計劃並安排每天午夜時間安排通知。到目前爲止,我發現了兩種方法
使用JobService。可以重新安排與
公衆最終無效jobFinished(JobParameters參數,可以布爾needsReschedule)
但我認爲這是一個不好的解決方案,因爲
我需要將完成的工作視爲失敗,雖然成功
計劃時間將線性增加/ exponenti盟友,這是不能接受的。
另一種方法是使用AlarmManager,但它也有一些缺點
- 的根據文件
已註冊的警報被保留,而設備是睡着了(如果在此期間關閉設備,可以選擇性地喚醒設備),但是如果關閉並重新啓動,設備將被清除。
這是不可接受的,因爲我的用戶可能會錯過重要的事情。
- 我讀過它很快就殺死了電池。真的嗎?
我在文檔中找到的其他解決方案看起來並不像我所需要的。 (https://developer.android.com/topic/performance/scheduling.html)
任何想法如何在日常的基礎上運行計劃任務,這將輕而易舉重啓?
好主意。但基於下面的評論,我還需要考慮打盹模式,因爲它可以推遲JobScheduler的執行。所以據我的理解,我可以在JobScheduler和AlarmManger中實現此功能,唯一的折衷是電池消耗和計劃時間精度之間的關係。那麼,至少有幾個選擇是很好的。謝謝! – StackNRG