[英]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.