我正在嘗試製作音樂播放器。爲此,我創建了一個管理MediaPlayer對象並播放歌曲的服務。但每次我重新打開音樂應用程序時,它都會啓動一個新的服務並同時繼續播放兩首歌曲。我如何讓我的活動綁定到已經運行的服務?我需要在活動停止時解除綁定服務?
我注意到,當我不在OnStop()方法中調用unbindService(...)時,我的應用程序運行正常。但我不知道在活動停止時是否有權解除綁定。
我結合這樣的:
@Override
protected void onStart() {
super.onStart();
Intent service = new Intent(this,MyService.class);
bindService(service, mConnection, Context.BIND_AUTO_CREATE);
}
@Override
protected void onStop() {
super.onStop();
if(mBound) {
unbindService(mConnection);
mBound = false;
}
}
你爲什麼不使用intentservice呢? – youssefhassan
音樂播放器不是IntentService太簡單嗎?當音樂播放時,我需要與MediaPlayer對象進行交互,例如更改音樂中的音樂或seekto。 IntentService不僅僅適用於簡單的長時間後臺運行操作嗎? – ferrazrafael
我試圖按照這個文檔中的例子http://developer.android.com/guide/components/bound-services.html – ferrazrafael