你不應該做的是在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