我有一個服務[IntentService]運行一個'計時器任務',計劃每5分鐘運行一次。我在安裝應用程序時啓動服務。如何停止服務?
現在我想停止我的服務[服務運行'計時器任務'],但是當我使用stopService()方法時,我無法停止我的服務。我嘗試在我的服務的onDestroy()方法中記錄日誌,但stopService()沒有到達那裏。
此外,由於stopService()返回布爾值,我記錄了它的輸出,它返回false。
我該如何阻止它?
我有一個服務[IntentService]運行一個'計時器任務',計劃每5分鐘運行一次。我在安裝應用程序時啓動服務。如何停止服務?
現在我想停止我的服務[服務運行'計時器任務'],但是當我使用stopService()方法時,我無法停止我的服務。我嘗試在我的服務的onDestroy()方法中記錄日誌,但stopService()沒有到達那裏。
此外,由於stopService()返回布爾值,我記錄了它的輸出,它返回false。
我該如何阻止它?
我有一個服務[IntentService]運行'計時器任務',計劃每5分鐘後運行一次。
請不要這樣做。用戶討厭這樣做的開發人員,並會使用任務殺手或「設置」應用程序強制停止您的應用程序。請使用AlarmManager
,這樣可以佔用更少的RAM並且對用戶更友好。
我在安裝應用程序時啓動服務。
這不支持。特別是,從Android 3.1開始,這是不可能的,甚至可能會使用無證的黑客攻擊。
現在我想停止我的服務[服務運行'計時器任務'],但是當我使用stopService()方法時,我無法停止我的服務。
很有可能您的服務已停止。 IntentService
只要onHandleIntent()
返回就停止。 TimerTask
分叉一個線程來維護它的計時器 - 如果你在onHandleIntent()
中創建了這個TimerTask
,你正在泄漏這個線程。你無法停止這個線程。一旦Android選擇終止您的流程,它會隨機消失。
如果,另一方面,你擺脫TimerTask
和使用AlarmManager
,你可以在IntentService
的onHandleIntent()
方法的實際週期性工作。
你見過[this](http://stackoverflow.com/questions/2176375/android-service-wont-stop),它可以幫助你。 –
................................ – alchemist
@YaqubAhmad我不在任何地方綁定我的服務。 – alchemist