我一直在檢查谷歌的文檔有些日子,但我不知道我該怎麼做。我應該爲連續後臺任務實施哪種服務?
在我頭上的想法是創建一個服務,它運行在後臺(永遠),即使設備重新啓動等(例如,WhatsApp)。這項服務應該每週三(例如)每30分鐘通過互聯網進行。
但是,我不知道如果我要創建一個經典服務,一個具有廣播接收器等
我想了解哪些地方需要集中我搜索了一些解釋。 我應該使用哪種服務來執行永不結束的任務?
我一直在檢查谷歌的文檔有些日子,但我不知道我該怎麼做。我應該爲連續後臺任務實施哪種服務?
在我頭上的想法是創建一個服務,它運行在後臺(永遠),即使設備重新啓動等(例如,WhatsApp)。這項服務應該每週三(例如)每30分鐘通過互聯網進行。
但是,我不知道如果我要創建一個經典服務,一個具有廣播接收器等
我想了解哪些地方需要集中我搜索了一些解釋。 我應該使用哪種服務來執行永不結束的任務?
沒有人想要一個在後臺永遠運行的應用程序。你想要一個定期啓動的應用程序(在後臺),做它的事情,並再次睡覺。
此外,在android中永遠不會運行'永遠'。生命週期由Android操作系統處理,這意味着如果它需要資源,它可以殺死你的應用程序。
所以,你可以兩件事情:
BroadcastReceiver
+ Service
:在BR監聽到Android引導的Intent
,然後開始你的服務,這可能會無限期地運行(使用startService
)。AlarmManager
+ BroadcastReceiver
(+ Service
):以指定的時間間隔創建報警,讓您的BR啓動。無線電通信局然後可以啓動Service
,這是一項繁重的工作。服務完成後,它應該自殺!IntentService
不能使用,因爲它會殺死自己時,有沒有更多的任務 BroadcastReceived
不能單獨使用,因爲它只能活幾秒鐘(10秒)
TL;博士
不要製作永久運行的服務。創建一個Service
完成任務並在完成時自殺。然後定期啓動此Service
。
我認爲第二種選擇對我來說是最好的。謝謝。 – Reinherd
你試過了什麼? – Snicolas
我還沒有嘗試過任何東西。我問什麼應該搜索以完成我的要求。我不在尋找代碼幫助,只是關於我應該搜索什麼的一些技巧,因爲我發現了許多關於2-3種服務的信息,但是我無法滿足我的要求。 – Reinherd
請閱讀Android操作系統,在任何時候都應該避免在後臺運行應用程序! – RvdK