【发布时间】:2012-02-01 09:08:09
【问题描述】:
我正在寻找一种彻底关闭我的 Android 服务的方法。只要我的至少一项活动在那里,它们就应该运行。
有没有办法在整个应用程序被销毁而不是单个活动时获取事件?这样就很容易处理服务的关闭。但我没有发现这样的意图或事件。
所以我想到了两种可能的方法来处理它,但它们对我来说似乎有点奇怪:
编写一个计算打开和关闭活动的服务。为了实现这一点,我必须在 onPause 和 onCreate 方法中添加 activityStarted 和 activityClosed 通知调用。当每个活动都暂停或销毁时,我的观察者服务将停止正在运行的服务并最终停止它自己。
在调用 onPause 或 onCreate 时,使用 DB 写出活动的计数。第一个在其 onPause 上注意到没有其他活动的活动将启动服务关闭过程。
你会怎么做?
【问题讨论】: