你不应该做的是在service呢?它会不会更容易?然后,您可以在某个活动暂停或退出时取消该服务(取决于您想要的服务)。你也可以检查它是否开始,并随时停止。
还是遗憾,如果我不明白你的问题。我看到你在这里有很多要点,所以也许我只是感到困惑。
---因为你的第三个评论编辑:
- 一个意向到B:用音乐的名称发送
Intent
。
- 乙的onCreate:从
Intent
获得音乐的名称。将国旗x
设置为true
。
- 乙的onResume:开始播放音乐,如果从最后已知位置A 或简历,如果从B.
- 乙恢复后退按钮:覆盖,并设置
x
到false
。其实,你会覆盖你的活动finish
es的所有点。
- 乙的onPause:停止音乐
if(x)
,存储最后已知的在存储器中的音乐的位置和一站式服务。
在这里,我假设你想要的音乐,回头率,当一个演奏,(这是你说的,这就是问题所在),而不仅仅是高达B.设置x是重要的早期,国际海事组织,因为如果有的话出现其他活动(电话,任何内容),活动将立即停止播放音乐(用户期望)onPause。根据Android的指导原则,只有当用户按下后退按钮或完成()您的活动时,才知道您要回到A.您可以微调检查任务中活动的位置(现在不记得该怎么做)。个人而言,我也不想在A上继续播放(比如说B-> call-> home-> A,将步骤3也应用于A),因为发生事件逻辑流的中断那里。
CAVEAT:我会确保没有其他办法。我会试着看看你是否可以1)提前知道哪些活动即将显示。 2)获得任何音乐服务以连接您的任务(甚至有可能?)。
总之,只要用我的解决方案,如果你不能找到一个聪明的方法来做到这一点。这将是我的建议。祝你好运。
不知道什么服务会为我在这里做。我已经可以在活动之间保持音频播放,但当onPause或onStop被调用时,我仍然需要暂停播放,除了我转换到细节活动。 – 2011-06-15 18:44:20
如果你对这个问题感到困惑,其他人也会这样。我编辑希望更清楚。 – 2011-06-15 18:46:55
就我所见,您希望播放音频:1)当活动A或B处于活动状态时;和2)如果列表中的项目处于活动状态(例如音乐标题),则可以进行良好控制。我相信,你可以同时使用您的onPause例程来标志一个布尔值,该服务,该服务将停止播放,你有假两个(当没有活动正在运行)每次。你也可以同时停用,当你不选择从列表中的项目...(...) – davidcesarino 2011-06-15 18:53:48