Android:任务或应用程序相当于onPause

Android:任务或应用程序相当于onPause,android,aidl,application-lifecycle,Android,Aidl,Application Lifecycle,我的应用程序使用远程服务播放音频。我这样做是为了 没有任何活动拥有音频播放-用户可以触发一些 从一个活动中播放音频,音频将继续播放 在应用程序中导航时播放。然而,我确实想告诉大家 当用户“卸载”应用程序时暂停或停止播放音频的服务 通过后退、锁定显示器或点击主页。当应用程序是一个单一的 活动,我是在暂停时做的。所以,我想我基本上是 在应用程序/任务级别查找“onPause”。这样做吗 存在?如果没有,获得通知的“最佳做法”是什么 任务已被用户搁置,或者支持所有 出路还是回家?嗯……不幸的是,我怀疑

我的应用程序使用远程服务播放音频。我这样做是为了 没有任何活动拥有音频播放-用户可以触发一些 从一个活动中播放音频,音频将继续播放 在应用程序中导航时播放。然而,我确实想告诉大家 当用户“卸载”应用程序时暂停或停止播放音频的服务 通过后退、锁定显示器或点击主页。当应用程序是一个单一的 活动,我是在暂停时做的。所以,我想我基本上是 在应用程序/任务级别查找“onPause”。这样做吗 存在?如果没有,获得通知的“最佳做法”是什么 任务已被用户搁置,或者支持所有
出路还是回家?

嗯……不幸的是,我怀疑这里没有简单的答案。我认为这就是内置媒体播放器和潘多拉使用通知的原因,它可以方便地让用户返回应用程序,让应用程序关闭

如果您的活动流是相当线性的,那么退出应用程序与退出初始活动是一样的

我在一个场景中使用的技巧是让每个活动在
onPause()
onResume()中通知服务。服务将监控这些,如果在一段时间内收到
onPause()
而没有后续的
onResume()
,则假定用户不在(家、来电、短信、通过通知响应某些应用程序等)

您还可以观察
操作屏幕关闭
广播
意图
,以处理该场景


很抱歉,我没有更好的银弹答案——也许其他人会有更好的想法。

我也遇到过类似的情况,基本上我按照马克的建议做了;我没有单独的通知,只是让服务统计对registerCallback()和unregisterCallback()API的调用,每个活动都需要这样做。

这些都是一些创造性的解决方案。我有一个类似的问题,如果得到回答,可以与您的解决方案结合起来,对我来说是完美的。我可能会把动作屏幕也关掉…好建议。请让我知道你对以下内容的看法:谢谢!对不起,我没有弄乱活动堆栈。不用担心。我的解决方案最终将是您建议的一个或另一个(通知如Pandora或在服务中保持活动状态,并收听适当的广播)。