2017-01-25 26 views
0

我讀過教程,提到MediaPlayer(Android)需要放在Service中,所以它不會被清理。這似乎與我所看到的相反,即即使當我的應用程序睡眠並且我正在使用另一個應用程序或者甚至當屏幕被鎖定時 - 我的應用程序的MediaPlayer繼續播放,可能是因爲它的WakeMode設置爲「部分」。是否需要將MediaPlayer放入服務中?

或者我們需要它在服務中,以防應用程序本身終止?但即使它在服務中,也不會終止服務嗎?

+0

終止,你是什麼意思?是通過按下返回按鈕還是從最近的應用程序列表中滑動應用程序來關閉應用程序?雖然兩者都調用Activity onDestroy,但可以通過將其編碼到onStop來阻止前者。然而,服務取決於你如何啓動它(startService,bindService,CONTEXT_AUTO_CREATE,mediaBrowser.connect)以及你如何停止它(如果有的話)。 –

回答

-1

只需要一個Service如果你想播放音樂,你的應用程序將在後臺。

要做到這一點,您需要在MediaBrowserServiceCompat服務中嵌入MediaPlayer,並讓它在另一活動中與MediaBrowserCompat進行交互。

+0

當我的應用在後臺休眠時,音樂不會停止,儘管它不在服務中。 – ispiro

+0

你想如何停止? – josedlujan

+0

你的意思是我該如何阻止音樂?我只是提出我的應用程序,然後單擊停止。 – ispiro

1

'或者我們需要它在服務中以防應用程序本身終止?但是,即使服務在服務中也不會終止服務嗎?':如果您已經使用startService而不使用stopService或stopSelf,那麼在任何情況下(即使應用程序終止)都是如此。

0

據我所知,服務是高優先級的,即使應用程序完全關閉,它們也能正常工作。但是當您創建服務時,您可能必須將服務定義爲高優先級,我不確定。服務佔用大量資源,因此最好提供一個停止按鈕,就像通知抽屜中的常量通知一樣。

相關問題