2010-08-29 139 views
0

我只是想知道如何檢測到該活動或服務已被高級任務殺手殺死?我期待着調用onDestroy方法,但它沒有!Android:如何瞭解高級任務殺手殺死的活動/服務?

我的應用程序在啓動時啓動後臺服務。該活動不是從菜單開始的。但它的名字出現在高級任務殺手列表中。當我試圖殺死它時,它不會調用onDestroy方法,也不會調用服務。

任何想法?

在此先感謝。

回答

3

我只是想知道如何檢測到活動或服務已被高級任務殺手殺死?

當您的任務以這種方式死亡時,您不會收到任何通知。

我期待的onDestroy方法被調用,但它不!

活動或服務的onDestroy()有多種情況不會被調用。這是其中之一。

我的應用程序在啓動時啓動後臺服務。

我真誠地希望服務能在幾秒鐘內關閉。否則,please consider是否what you are doing是正確的。

+0

其實服務沒有做很多工作。它剛剛開始,所以當接到電話時,它就開始做事。它可以從活動菜單關閉,但我只想找到一種方法來清除服務後被殺死。 – Doaa 2010-08-29 19:06:24

+0

您是否認爲在接到電話後啓動服務會更好,然後再次停止服務? – Doaa 2010-08-29 19:09:03

+0

@Doaa:「它剛剛開始,所以當收到一個電話,它開始做的東西。」 - 你可以使用清單註冊的'BroadcastReceiver'來尋找'ACTION_PHONE_STATE_CHANGED'。 「你認爲在接到電話後開始服務會更好,然後再次停止服務?」 - 是的。你的服務在內存中越少,成爲任務殺手的目標的可能性就越小。 – CommonsWare 2010-08-30 05:57:17