看板 AndroidDev 關於我們 聯絡資訊
今天假設我想執行一個APP 喚起一個背景Service 並且能夠對該Service做控制 (所以一定要用綁定?) 當APP關閉之後 該Service仍然可以持續應用 等APP重新開啟後 能夠繼續控制 舉例來說 我想使用一個背景音樂播放服務 我前景的APP在的時候 可以暫停 繼續播放等等控制功能 如果前景的APP切到背景 甚至被關閉 該服務仍然會繼續放音樂 而等我把APP再打開 又可以繼續控制該音樂器 我現在是用AIDL + bindService的方式來實作 但會面臨到一個問題是 當我的APP只要一關閉 該服務就會跟著關閉 我想是使用了bindservice的關係 所以我在APP關閉前呼叫了onUnbind 想試圖解除綁定service 結果是service雖然可以保留 卻是重新呼叫create (等於重啟動service) 再因沒有APP的content而回傳null 最後音樂還是無法播放 請問這到底有沒有解法呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.96.194.90 ※ 文章網址: https://www.ptt.cc/bbs/AndroidDev/M.1421650575.A.2AA.html
ssccg: startService,service可以同時用start+bind 01/19 16:26
mshockwave: 如果是先startService再bind的話 那要完全關閉必須 01/20 16:13
mshockwave: stopService和unbind 所以你這樣可以start+bind但是 01/20 16:13
mshockwave: 單純unbind而不要stopService就可以了 01/20 16:14
JackChena: 一、二樓正解 01/20 19:16