我的应用程序使用远程服务播放音频。我是这样做的 没有活动拥有音频的播放 - 用户可以触发一些 音频将从一个活动播放,音频将继续播放 在他们浏览应用程序时播放。但是,我想告诉你 当用户“卸载”应用程序时暂停或停止播放音频的服务 通过退出,锁定显示器或按Home键。当应用程序是一个单一的 活动,我在onPause中这样做。所以,我想我基本上就是这样 在应用程序/任务级别寻找“onPause”。这样的事情 存在?如果没有,获得通知的“最佳实践”方式是什么 任务已被用户搁置,或者支持所有任务 出门或打回家?
答案 0 :(得分:5)
如果您的活动流程非常线性,那么退出应用程序与退出初始活动相同。
我在一个场景中使用的一个技巧是让每个活动在onPause()
和onResume()
中通知服务。该服务将监视这些,如果它在某段时间内没有后续onPause()
onResume()
,则认为用户已离开(主页,来电,来电短信,回复一些应用程序通过通知等)。
您还可以观看ACTION_SCREEN_OFF
广播Intents
,以处理该情况。
对不起,我没有更好的银弹答案 - 也许其他人会有更好的主意。
答案 1 :(得分:1)
我的情况有点类似,基本上我做了Mark所建议的;我只是让服务计数调用我的registerCallback()和unregisterCallback()API,而不是单独的通知,每个活动都需要这样做。