【问题标题】:When and how to stop Services何时以及如何停止服务
【发布时间】:2012-02-01 09:08:09
【问题描述】:

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

有没有办法在整个应用程序被销毁而不是单个活动时获取事件?这样就很容易处理服务的关闭。但我没有发现这样的意图或事件。

所以我想到了两种可能的方法来处理它,但它们对我来说似乎有点奇怪:

  1. 编写一个计算打开和关闭活动的服务。为了实现这一点,我必须在 onPause 和 onCreate 方法中添加 activityStarted 和 activityClosed 通知调用。当每个活动都暂停或销毁时,我的观察者服务将停止正在运行的服务并最终停止它自己。

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

你会怎么做?

【问题讨论】:

    标签: android service


    【解决方案1】:

    扩展 Service 类并将 ServiceConnected 实施到您的活动中。 然后绑定计算 OnBind()/Unbind() 服务。

    【讨论】:

    • +1 - 听起来不错,只是等待是否有其他方法,但这是一个候选解决方案。
    【解决方案2】:

    当你从一个Activity“移交”到下一个时,你需要确保你的unbind()你的Service从“旧”Activity和bind()到你的Service “新的一个。 This thread on SO 处理类似的事情。请特别注意此答案中引用 Android 文档的“协调活动”部分的链接。

    【讨论】:

      猜你喜欢
      • 2018-03-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-02
      • 2017-03-17
      • 1970-01-01
      相关资源
      最近更新 更多