2
我有播放音樂的活動和服務。 onCreate活動我startService並嘗試創建一個ServiceConnection,在ServiceConnection的onServiceConnected我初始化服務,所以之後它不是null。然後我將ServiceService綁定到這個serviceConnection。活動娛樂後連接服務
所以,我的musicService不是空的,應用程序工作,服務可以發送前臺通知。比方說,我旋轉我的設備和屏幕旋轉,我的活動調用onDestroy並調用onCreate。我的musicService繼續播放,但在onCreate中有startService,再次創建ServiceConnection和bindService,由於null musicService導致應用程序崩潰。
我透露,這是因爲ServiceConnection的onServiceConnected現在不會被調用。 我應該怎麼做才能連接到我的第一個activity創建的音樂服務?
我它運行在每個的onCreate代碼:
Intent intent = new Intent(this, MusicPlaybackService.class);
startService(intent);
serviceConnection = new ServiceConnection() {
public void onServiceConnected(ComponentName className,
IBinder service) {
LocalBinder binder = (LocalBinder) service;
musicPlaybackService = binder.getService();
}
public void onServiceDisconnected(ComponentName arg0) {
}
};
bindService(intent, serviceConnection, 0);
添加代碼。將使情況變得更容易 –
完成,但我不確定它會讓事情變得更容易,我想我的描述非常完整。 –