我把我的設備連接到PC並通過設備上的Eclipse運行我的服務。現在我想看看我的服務在關機和開機時有什麼行爲。問題是,一旦關閉設備,我的服務就會丟失。是否可以在應用程序關閉時保持應用程序持久性?我可以在關閉設備時保持我的服務嗎?
謝謝。
我把我的設備連接到PC並通過設備上的Eclipse運行我的服務。現在我想看看我的服務在關機和開機時有什麼行爲。問題是,一旦關閉設備,我的服務就會丟失。是否可以在應用程序關閉時保持應用程序持久性?我可以在關閉設備時保持我的服務嗎?
謝謝。
當設備關閉您的服務將無法運行 - 因爲還有沒有力量。但是,只要給設備提供電源,您就可以立即使用該服務。確保你的服務是有效的,所以當內存變得緊張時它不會被殺死。然後,只需使用廣播接收器來捕捉那裏
<action android:name="android.intent.action.BOOT_COMPLETED"/>
意圖。您可以從接收器發送並意圖啓動您的服務。您也可以在您的服務的意圖過濾器中使用此意圖來啓動服務。使用具有部分喚醒鎖定的PowerManager可幫助您的服務在屏幕關閉時運行 - 但請注意:此功能在所有設備上都不起作用 - 在我使用的所有設備中,此功能只能使用一半,但並不完美。
如果您希望幫助您的服務不被操作系統殺死甚至更多 - 使用服務對象中的startForeground()API調用將其作爲前臺服務運行。