[英]Background TimerTask gets killed when app is killed
我在我的應用程序上使用密碼鎖。 我使用此答案中的邏輯將共享首選項中的變量設置為true / false。 但是,當我仍然在前台(使用最新的應用程序)殺死該應用程序時,這種方法不起作用。 看起來像殺死該應用程序會殺死我的TimerTask,該任務計划運行2秒,因此該變量從未設置。
我曾嘗試使用服務來做同樣的事情,但是沒有運氣,即使應用程序被殺死,服務也被殺死。 任何解決方法? 請幫忙!!
您可以將Service與START_STICKY一起使用,該服務將在殺死后重新創建。 檢查AlarmManager中是否有由系統啟動的事件,即使您的應用程序已關閉。
我個人建議使用AlarmManager,而不要保留長期運行的服務。
有效執行后台任務的最佳方法是使用IntentService
http://developer.android.com/reference/android/app/IntentService.html
只要任務需要, IntentService
將在單獨的線程中運行,之后將被IntentService
。
它還將排隊請求並處理隊列本身
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.