2011-02-07 42 views
1

我有服務在後臺運行,通知顯示在GUI中。 當我強制關閉應用程序=>管理應用程序時,我的 服務,應用程序和通知欄中的圖標熄滅。Android ::怎麼做才能強行殺死服務

但是,當我殺了通過TaskKiller申請我的申請,我的服務 停止,然後Android操作系統重新啓動服務(我可以看到logcat中) 和圖標在我的通知區域仍然存在。而我的後臺工作( 下載圖片)已關閉。

我從 OnStartCommand()返回START_STICKY(也試過用STArT_NOT_STICKY標誌),但沒有運氣。我的GUI活動,通過 Context.BIND_AUTO_CREATE綁定到服務,是因爲該標誌?

如果我希望我的應用程序,服務和通知 區域圖標熄滅,應用程序被任務殺手終止時該怎麼辦。

解決方案

在意圖通過從活動開始時,服務標誌使用解決了這個問題。當操作系統在崩潰/任務殺手之後重新啓動服務時,服務收到空意圖

回答

1

我的第一個問題就是爲什麼你希望你的服務被任務殺手所殺?或者換句話說,爲什麼你需要通過任務殺手來殺死你的服務?它應該是你的意圖,只要你需要它,然後在適當的時候使用stopSelf(),stopService()或stopForeground()關閉它(你將需要其中的一個,這取決於你如何開始它以及你想如何阻止它)。但我不能給你一個建議如果我不知道你在做什麼。

我的猜測是,您沒有從您的活動中的服務中解除綁定,以便服務將自動由android系統重新啓動。也就是說,因爲您的服務被評爲您的活動所必需的。爲了確認猜測,請在這裏發佈logcat輸出。

+0

感謝markus,我正在檢查我的應用程序是否乾淨地終止,並在一些突然的事情發生後像我的應用程序被某些任務殺手應用程序殺死一樣正常啓動。我從活動開始時,通過在傳遞給服務的意圖中使用標誌來解決此問題。當操作系統在崩潰/任務殺手之後重新啓動服務時,服務收到空意圖。 – JRC 2011-02-09 09:56:18

相關問題