2011-12-02 99 views
1

我正在製作音樂播放器,並且列出了所有音樂。當你點擊一首歌曲時,它會打開一個新的動作並播放歌曲,但如果我回到列表中並選擇另一首歌曲,它不會停止第一首歌曲。 當我彈奏新歌曲時,如何讓它停止音樂或關閉第一個活動?Android:開始新活動時關閉活動?

我已經嘗試設置launchMode爲「singleTask」,但沒有工作..

+0

你是如何開始音樂曲目的? – Chris

回答

3

您可以撥打onStop() - 方法finish()播放音樂活動。這將關閉活動並在您選擇要播放的新歌曲後開啓新活動。

這樣做的一個更好的方法(因爲你創建了一個多媒體播放器)可以在服務中播放音樂(不是在活動中),只需使用「播放器」 - 活動或「播放列表」活動來改變播放的聲音。

這樣,用戶可以離開你的應用程序,並仍然聽他的音樂。此外,它還可以讓他在聽音樂的同時瀏覽他的音樂以獲得新的音軌。


要與您的服務進行通信,您需要「綁定」它。你的情況,我建議Binder這樣做。閱讀文檔中的"Bound Service"-article以獲取更多信息/示例。

+0

如果音樂在服務中播放,如何獲得音樂持續時間以製作搜索欄? – Piratkopia13

+0

你可以使用消息來做到這一點:http://stackoverflow.com/questions/6369287/accessing-ui-thread-handler-from-a-service –

+0

如何暫停和恢復服務中的音樂? 感謝您的回答! – Piratkopia13