2011-02-01 68 views
0

我正在處理運行服務的應用程序。該服務在系統引導或應用程序啓動時自動啓動。我的經理要求我檢查它是否仍在定期運行(例如,每5分鐘一次)或每次關閉屏幕,然後在未運行的情況下再次啓動服務。在屏幕上自動啓動服務在android

我發現的最接近的解決方案是這樣的: http://thinkandroid.wordpress.com/2010/01/24/handling-screen-off-and-screen-on-intents/

這將重新啓動僅在應用程序仍在運行時才提供服務,如果用戶停止它或使用某個任務管理器將其殺死,則不太可能。

除引導或活動註冊的接收方之外,是否可以重新啓動服務? (把它想象成一個用戶,我真的不希望有一個應用程序隨時隨地都在運行)

+0

如果用戶通過任務管理器殺死了您的服務,您爲什麼認爲可以重新啓動它? – Falmarri 2011-02-01 15:30:28

+0

我其實並不......但這項服務對我們的一些用戶來說可能很重要。 – ZoltanT 2011-02-01 17:50:12

回答

0

爲什麼你需要一個看門狗服務?如果爲了防止Android回收它來回收用戶資源,請考慮使用startForeground()方法as discussed in this question:這需要您爲您的服務設置通知圖標,向用戶提供一個指示。傾聽你自己的反對意見:避免偷偷摸摸地向用戶傾訴!