2013-02-13 89 views
1

我有我使用的播放背景音樂的多個活動的服務。現在它通過所有適當的活動進行播放,但當按下主頁按鈕時我無法關閉它。遊戲將關閉,但音樂仍在播放。我嘗試過使用onUserLeaveHint方法,但是當我切換到其他活動時會關閉音樂。不只是當我離開遊戲時。如何在主頁按鈕被按下時停止服務?

+0

適用於我的100%....試試.... http://stackoverflow.com/a/14135323/2489384 – 2013-07-13 17:47:35

回答

0

一切活動應綁定到的服務。因爲服務只有在一個或多個活動綁定到它時才存在。因此,如果沒有綁定到您的服務,那麼該服務將被銷燬。請檢查此answer如何綁定/取消綁定服務。因此要避免使用starservice()(那麼你必須調用stopservice(),以能夠distroy爲您服務),使用bindservice()啓動服務 - 注意,在這種情況下,只有的onCreate()將在您的服務被稱爲

0

只要採取的事實,即同時從活動過渡到另一個第二個的,在onStart()獲取其他的onStop()之前調用。

鑑於這種情況,與事實有BIND_AUTO_CREATE標誌綁定服務被破壞,只要它沒有限制的活動沿(檢查了這等answer),您可以綁定到你的任何活動服務在onStart()方法,並解除綁定的的onStop()。

每當有活動轉換時,都會有一個活動的綁定活動,但噹噹前活動有後臺時(由於家庭或來電),只有onStop()將被調用,因此服務將是無限的。

相關問題