2016-08-28 49 views
2

我想創建一個應用程序,我在特定的時間發送通知。我一直在尋找與JobInfo.Builder中的jobscheduler API,但是當我看到這個頁面:使JobScheduler和JobInfo.Builder在特定的確切時間運行?

https://developer.android.com/reference/android/app/job/JobInfo.Builder.html

我看到setPeriodic法說:

指定這項工作應與復發提供的時間間隔,而不是每個週期不止 。你當這 區間內作業將被執行

所以好像這個方法會隨機做了設定的時間內完成這項任務無法控制。

如何使用JobScheduler API將任務設置爲在確切時間發生?

回答

7

如何使用JobScheduler API將任務設置爲在確切時間發生?

你不知道。 JobScheduler專爲不精確的時序而設計,因此它可以結合多個應用程序的作業,嘗試降低功耗。

你最好的選擇將是AlarmManager

+0

非常感謝...但也不是很棒,因爲AlamrManager不會像JobScheduler一樣通過系統重啓來保存... – Albert

+0

@Albert:正確。您需要註冊一個'ACTION_BOOT_COMPLETED'' BroadcastReceiver'才能在重新啓動時重新建立警報。 – CommonsWare

+0

我想我只是要使用這些庫之一https://github.com/evernote/android-job https://github.com/yigit/android-priority-jobqueue – Albert