如何处理孤儿服务?

时间:2014-12-22 01:47:07

标签: android android-service

我已按照此处的建议扩展了IntentService,从而创建了非自终止意向服务: Can an IntentService run indefinitely?

这样做的结果是,如果我的应用程序崩溃,我的服务仍然可以在下次启动MainActivity时运行。是否有推荐的方法来确定任意服务是否正在运行?

我已经看过解决方案建议我在服务的onCreate和onDestroy方法中设置一个标志,但服务可以在没有调用onDestroy的情况下结束(例如,如果它崩溃),这样就不是一个完美的溶液

1 个答案:

答案 0 :(得分:1)

要记住的一件事是,您的ServiceActivity是相同的应用程序和相同的过程 - 如果一个崩溃,它们都会消失。有办法将它们分开,但这不是正常的方法,可能不是你想要的。即使Service仍然可用,但对Activity来说,Intent通过{{1}}进行通信并不重要,这大致是两者之间的信息。