簡體   English   中英

從啟動時間開始,Facebook Messenger和Llama等Android應用程序如何在后台運行?

[英]How do Android applications such as Facebook Messenger and Llama stay running in the background from boot time?

我正在開發一個使用綁定服務從服務器查詢信息並在滿足條件時提供通知的應用程序。 目前,用戶必須從其主屏幕執行該應用程序才能開始接收更新。 但是,例如,諸如Facebook Messenger和Llama之類的應用程序是從手機在后台啟動時開始運行的。 如何為我的長期應用程序實現類似的功能? 同樣,即使我的應用程序是從主屏幕運行的,它仍然會偶爾在后台退出,而我認為是系統在退出該應用程序以獲取更多資源。 即使我的應用程序是在再次啟動服務時還原服務,但它似乎從未退出(通常在3到4個小時的后台活動之后)就重新啟動。

謝謝你的幫助。

您可以為ACTION_BOOT_COMPLETED Intent注冊一個BroadcastReceiver,以檢測設備何時啟動。 這需要RECEIVE_BOOT_COMPLETED權限。

可以使用啟動的粘性服務來代替使用綁定服務。 但是,根據您要執行的操作,您可能需要檢查AlarmManager是否適合您的要求(可能與IntentService結合使用,請參閱cwac-wakeful )。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM