Android 何时以及如何停止服务

Android 何时以及如何停止服务,android,service,Android,Service,我正在寻找一种方法来彻底关闭我的Android服务。只要我至少有一项活动在那里,它们就应该运行 当整个应用程序被销毁而不仅仅是单个活动时,是否有方法获取事件?这样就可以轻松处理服务的关闭。但我没有发现这样的意图或事件 所以我想到了两种可能来处理这个问题,但我觉得它们有点奇怪: 编写一个统计打开和关闭活动的服务。要实现这一点,我必须在onPause和onCreate方法中添加activityStarted和activityClosed通知调用。当每个活动都暂停或被破坏时,我的watcher服务将停

我正在寻找一种方法来彻底关闭我的Android服务。只要我至少有一项活动在那里,它们就应该运行

当整个应用程序被销毁而不仅仅是单个活动时,是否有方法获取事件?这样就可以轻松处理服务的关闭。但我没有发现这样的意图或事件

所以我想到了两种可能来处理这个问题,但我觉得它们有点奇怪:

  • 编写一个统计打开和关闭活动的服务。要实现这一点,我必须在onPause和onCreate方法中添加activityStarted和activityClosed通知调用。当每个活动都暂停或被破坏时,我的watcher服务将停止运行的服务,并最终停止运行

  • 调用onPause或onCreate时,使用DB写出活动的计数。在onPause上注意到没有其他活动的第一个活动将启动服务关闭过程


  • 您会怎么做?

    扩展服务类并实现连接到活动的服务。
    然后绑定并计算OnBind()/Unbind()服务。

    当你从一个
    活动“移交”到下一个
    活动时,你需要确保你
    从“旧的
    活动
    中解除绑定()
    你的
    服务
    从“新的”活动中解除绑定。处理类似的事情。请特别注意此答案中的链接,该链接涉及Android文档中的“协调活动”部分。

    +1-听起来不错,如果有其他方法,请等待,但这是一个备选解决方案。