2012-10-12 22 views
1

我使用的是Android MediaPlayer類,此應用程序的其中一項活動具有播放,暫停和選擇mp3,按鈕。該應用共有4項活動。我能夠讓它爲這項活動工作。然而,當我通過使用後退按鈕離開或在按下按鈕轉到其他活動後轉到其他活動時,當我離開活動時,媒體播放器不會繼續播放。android服務或MediaPlayer的自定義實現,哪個更好?

我希望音樂能夠繼續在此應用的所有活動中播放,但不在應用外。並且能夠在其他活動上暫停按鈕以暫停相同的音樂曲目。但我不認爲服務是最好的方式,因爲它會在應用程序失焦時發揮作用。就像有人在看這個應用程序時看不到其他應用程序一樣。我的理解是,即使您的應用對用戶不可見,服務也更適合音樂在後臺運行。

第一個選擇是對MediaPlayer進行編碼,以便它可以在此應用程序中的所有活動中運行,但不在應用程序之外。第二種選擇是使用一個android服務,它可以被限制在這個應用程序中,如果可能的話。

這兩個選擇哪個更好?

回答

1

服務比較好。這是你可以做的解決你的問題。您可以運行應用程序的服務來播放音樂。

例如,如果您有四項活動A-> B-> C-> D.當您回到您應該停止媒體播放器的根活動A時(因此它不會在應用程序之外播放)你可以停止你的服務中的onStop()

下面是服務http://developer.android.com/reference/android/app/Service.html(固定鏈接)的開發者參考

這裏是關於從拉斯·沃格爾服務 http://www.vogella.com/articles/AndroidServices/article.html

+0

謝深入教程您。我將使用一項服務。這看起來是最好的選擇 – Kevik