如何使用长时间运行的onHandleIntent优雅地处理IntentService的关闭?

时间:2015-03-18 23:55:53

标签: android android-service

假设我在Android中有一个带有onHandleIntent方法的IntentService,需要很长时间才能执行(分钟/小时)。如何优雅地处理服务的关闭?为了争论,我们可以说手机在意图中间关闭,需要一个小时才能完成。

假设 正确的做法是:

  1. 实施onDestroy方法,使其设置一个标志,表明该服务已关闭

  2. 确保打开onHandleIntent中长时间运行的工作,以便定期检查此标志,并且如果标志为真,则可以正常停止工作

  3. This question似乎与我想要的最接近,但我希望更具体地回答这个问题。在IntentService的文档中,它说:

      

    所有请求都在一个工作线程上处理 - 它们可能需要多长时间(并且不会阻止应用程序的主循环),但一次只能处理一个请求。

    我的问题是,如果用户在执行过程中关闭手机,“只要有必要”显然不是真的。那么,如何优雅地关闭?

0 个答案:

没有答案