0

我正在使用活動識別API和位置使用谷歌播放服務,我知道他們是如何耗費電池,所以我實際上會很高興,如果是這種情況,並且作業服務停止時,屏幕上的限制收集數據到用戶實際使用手機的時間而不是24/7。Firebase JobDispatcher屏幕關閉時是否觸發定期服務?

當我嘗試過這個測試時,有時會在半小時後停止,有時會更多,有時會立即發生,所以這與其他後臺服務和當前正在使用的應用程序有關?有沒有辦法在屏幕關閉時強制停止服務?

至於代碼我使用,我從庫和我做打電話從作業服務識別服務會在服務被觸發(週期性任務)

回答

0

唯一的修改下載的確切樣本如果我的理解正確,那麼您有一個JobDispatcher,它可以反覆安排作業在一段固定的時間後運行。如果是這種情況,那麼您可以選擇將設備設置爲僅在設備處於空閒或充電狀態時運行。

可以使用傳遞給JobScheduler.schedule(JobInfo作業)方法的JobInfo對象設置此行爲。

你可以看一下文檔JOBINFO做參考:https://developer.android.com/reference/android/app/job/JobInfo.html

+0

我知道的充電狀態,並沒有幫助我,因爲我想獲得用戶的位置和活動,而他是在移動(要求充電限制了這一點),而對於空閒,這意味着服務只會在屏幕關閉時運行,這不是我想要的。我想要相反的(該服務停止運行,當設備空閒,以減少電池消耗。) – student93

+0

我想說明的是,我想這樣做,因爲手機閒置超過大多數時間清醒,所以我想當設備空閒時通過暫停服務來減少消耗 – student93