Android:与onPause等效的任务或应用程序

时间:2009-11-14 15:43:07

标签: android aidl application-lifecycle

我的应用程序使用远程服务播放音频。我是这样做的 没有活动拥有音频的播放 - 用户可以触发一些 音频将从一个活动播放,音频将继续播放 在他们浏览应用程序时播放。但是,我想告诉你 当用户“卸载”应用程序时暂停或停止播放音频的服务 通过退出,锁定显示器或按Home键。当应用程序是一个单一的 活动,我在onPause中这样做。所以,我想我基本上就是这样 在应用程序/任务级别寻找“onPause”。这样的事情 存在?如果没有,获得通知的“最佳实践”方式是什么 任务已被用户搁置,或者支持所有任务 出门或打回家?

2 个答案:

答案 0 :(得分:5)

嗯...不幸的是,我怀疑那里没有简单的答案。我认为这就是为什么内置媒体播放器和Pandora使用通知,轻松让用户回到应用程序让它闭嘴。

如果您的活动流程非常线性,那么退出应用程序与退出初始活动相同。

我在一个场景中使用的一个技巧是让每个活动在onPause()onResume()中通知服务。该服务将监视这些,如果它在某段时间内没有后续onPause() onResume(),则认为用户已离开(主页,来电,来电短信,回复一些应用程序通过通知等)。

您还可以观看ACTION_SCREEN_OFF广播Intents,以处理该情况。

对不起,我没有更好的银弹答案 - 也许其他人会有更好的主意。

答案 1 :(得分:1)

我的情况有点类似,基本上我做了Mark所建议的;我只是让服务计数调用我的registerCallback()和unregisterCallback()API,而不是单独的通知,每个活动都需要这样做。