如何从服务中检测到应用程序进程已关闭?

时间:2014-03-20 19:00:01

标签: java android service

我有一个Android应用程序,包含服务和各种活动。当应用程序启动时,将使用startService(Intent服务)启动服务。各种活动(但不是所有活动)绑定到服务并从中发送/接收消息。当应用程序在任何活动或后台处于前台时,该服务应该是活动的,但应该在整个应用程序关闭时结束(即用户从“最近的应用程序”屏幕滑动应用程序)。

如何确定应用程序流程已结束的服务(当前从未停止运行,直到您在设备上手动停止运行),以便我可以停止服务?

2 个答案:

答案 0 :(得分:2)

由于该服务有望成为与其他所有内容相同的进程的一部分,因此不会通知该进程已终止,因为该进程将终止,因此服务的代码将不再运行。没有预先警告流程被终止。

如果由于某种原因您将服务放在一个单独的过程中,请重新考虑。

另请注意,IntentService并非真正设计用于绑定模式。 IntentService设计用于在后台线程上执行的事务性工作。将IntentService用于其他任何事情都是一种主要的代码味道。

答案 1 :(得分:0)

只是不要手动启动服务。当您从活动中绑定它时,它会自动启动并自动关闭。