我已按照此处的建议扩展了IntentService,从而创建了非自终止意向服务: Can an IntentService run indefinitely?
这样做的结果是,如果我的应用程序崩溃,我的服务仍然可以在下次启动MainActivity时运行。是否有推荐的方法来确定任意服务是否正在运行?
我已经看过解决方案建议我在服务的onCreate和onDestroy方法中设置一个标志,但服务可以在没有调用onDestroy的情况下结束(例如,如果它崩溃),这样就不是一个完美的溶液
答案 0 :(得分:1)
要记住的一件事是,您的Service
和Activity
是相同的应用程序和相同的过程 - 如果一个崩溃,它们都会消失。有办法将它们分开,但这不是正常的方法,可能不是你想要的。即使Service
仍然可用,但对Activity
来说,Intent
通过{{1}}进行通信并不重要,这大致是两者之间的信息。