2013-01-22 92 views
0

我正在研究如何開發android應用程序。我從一個只有一項活動的簡單應用程序開始。然後我添加了一個服務來播放背景音樂;當然我使用onPause(),onStop()onDestroy()方法來管理服務。當用戶關閉應用程序時停止背景音樂,而不是在用戶更改活動時停止背景音樂

但現在,我有另一項活動,當新活動打開時(因爲調用onPause()方法),背景音樂停止。

我只想在用戶關閉或銷燬我的整個應用程序時停止背景音樂,而不是在用戶從活動轉到另一個時。

當我開始構建我的應用程序時,可能我犯了一個很大的錯誤。現在我正試圖解決這個問題。

我試圖使用bindService,但我仍然有同樣的問題。

我應該怎麼處理這個問題?

+1

用戶不會停止應用程序。 Android的確如此。 gabrielaugustodm是對的。 – Simon

回答

0

要播放的音樂,我覺得是更好的,你使用的是Android Service

服務是代表或者一個 應用程序的願望應用組件進行長時間運行的操作,而不是 與用戶交互或爲其他要使用的 應用程序提供功能。每個服務類必須在其包的AndroidManifest.xml中有相應的 聲明。服務 可以使用Context.startService()和Context.bindService()來啓動。

請注意,與其他應用程序對象一樣,服務在其主機進程的主線程 中運行。這意味着,如果你的服務是 要做任何CPU密集型(如MP3播放)或阻塞(如網絡)操作,它應該產生自己的線程,在其中 這樣做的工作。關於這方面的更多信息可以在Processes和 主題中找到。 IntentService類可以作爲標準的 實現,該實現具有自己的線程,並在其中計劃要完成的工作 。

+0

我正在使用服務播放背景音樂 – MDP

+0

我沒有得到你要做的事情:( – MDP

0

從您的服務中,您可以使用方法found in this answer定期檢查前臺活動(或包)是什麼。如果它不屬於你,你可以殺死該服務。