2011-06-15 84 views
0

我有從ListActivity內播放一些音頻一個活動。用戶也可以點擊列表項並轉到更詳細的數據視圖。我想音頻保持從一個活動到另一個過渡期間玩,繼續玩了一次詳細的活動是活躍的,但我也需要暫停音頻如果我的活動被暫停或停止任何其他原因。不同活動之間區分過渡

我的問題是,我目前在ListActivity中暫停onPause()中的音頻,因爲我希望音頻在用戶離開我的活動時暫停。例如。當他們按Home或Back時。但是,我不希望音頻在我的詳細視圖活動開始時暫停。在兩種情況下都會調用onPause(),那麼如何區分這兩種情況?

回答

1

你不應該做的是在service呢?它會不會更容易?然後,您可以在某個活動暫停或退出時取消該服務(取決於您想要的服務)。你也可以檢查它是否開始,並隨時停止。

還是遺憾,如果我不明白你的問題。我看到你在這裏有很多要點,所以也許我只是感到困惑。

---因爲你的第三個評論編輯:

  1. 一個意向到B:用音樂的名稱發送Intent
  2. 乙的onCreate:從Intent獲得音樂的名稱。將國旗x設置爲true
  3. 乙的onResume:開始播放音樂,如果從最後已知位置A 簡歷,如果從B.
  4. 乙恢復後退按鈕:覆蓋,並設置xfalse。其實,你會覆蓋你的活動finish es的所有點。
  5. 乙的onPause:停止音樂if(x),存儲最後已知的在存儲器中的音樂的位置和一站式服務。

在這裏,我假設你想要的音樂,回頭率,當一個演奏,(這是你說的,這就是問題所在),而不僅僅是高達B.設置x是重要的早期,國際海事組織,因爲如果有的話出現其他活動(電話,任何內容),活動將立即停止播放音樂(用戶期望)onPause。根據Android的指導原則,只有當用戶按下後退按鈕或完成()您的活動時,才知道您要回到A.您可以微調檢查任務中活動的位置(現在不記得該怎麼做)。個人而言,我也不想在A上繼續播放(比如說B-> call-> home-> A,將步驟3也應用於A),因爲發生事件邏輯流的中斷那裏。

CAVEAT:我會確保沒有其他辦法。我會試着看看你是否可以1)提前知道哪些活動即將顯示。 2)獲得任何音樂服務以連接您的任務(甚至有可能?)。

總之,只要用我的解決方案,如果你不能找到一個聰明的方法來做到這一點。這將是我的建議。祝你好運。

+0

不知道什麼服務會爲我在這裏做。我已經可以在活動之間保持音頻播放,但當onPause或onStop被調用時,我仍然需要暫停播放,除了我轉換到細節活動。 – 2011-06-15 18:44:20

+0

如果你對這個問題感到困惑,其他人也會這樣。我編輯希望更清楚。 – 2011-06-15 18:46:55

+1

就我所見,您希望播放音頻:1)當活動A或B處於活動狀態時;和2)如果列表中的項目處於活動狀態(例如音樂標題),則可以進行良好控制。我相信,你可以同時使用您的onPause例程來標誌一個布爾值,該服務,該服務將停止播放,你有假兩個(當沒有活動正在運行)每次。你也可以同時停用,當你不選擇從列表中的項目...(...) – davidcesarino 2011-06-15 18:53:48