我的問題的一部分,我如何在「牛軋糖」中以小於15分鐘的時間間隔設置作業,在他的回答中回答了「暴風雪」:
Job Scheduler not running on Android N
他解釋這個問題,並建議使用以下解決方法:安卓N中的作業調度程序,時間間隔小於15分鐘
JobInfo jobInfo;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
jobInfo = new JobInfo.Builder(JOB_ID, serviceName)
.setMinimumLatency(REFRESH_INTERVAL)
.setExtras(bundle).build();
} else {
jobInfo = new JobInfo.Builder(JOB_ID, serviceName)
.setPeriodic(REFRESH_INTERVAL)
.setExtras(bundle).build();
}
然而,使用建議
.setMinimumLatency(REFRESH_INTERVAL)
剛開始工作一次;
但我怎樣才能得到它與週期約30秒的Android nougat設備(不使用處理程序或報警管理器)?
除了當您的應用程序處於前臺並被用戶主動使用時,每30秒執行一次操作在用戶的眼中是不恰當的,因爲用戶大聲抱怨後臺應用程序會耗費電量。 – CommonsWare
但是,如果您的用戶在開始使用手機時希望獲得最新信息(可能他們現在沒有互聯網......),則需要可靠的後臺服務。還是你想告訴我,這顯然是不可能的?那麼你可以這樣做,而不是試圖教我關於我所知道的事情。 – tomseitz
「如果您的用戶希望在啓動手機時獲得最新信息」 - 不需要每30秒進行一次工作。 「或者你想告訴我,這顯然是不可能的?」 - 沒有什麼能夠可靠地做到這一點,除非你的應用程序在前臺並且正在被使用。 – CommonsWare