我正在做一個收音機應用,MediaPlayer
在Service
。什麼時候startService()停止了服務?
我startService()
啓動時創建一個StreamPlayerFragment
因爲音頻流必須只要發揮其作爲應用程序運行,而我綁定只在StreamPlayerFragment
,因爲只有這個Fragment
需要訪問MediaPlayer
播放/暫停/停止音頻流。
現在我不知道何時/如何Service
應該停止?我需要知道何時停止或銷燬以便能夠釋放MediaPlayer
。
我是否應該讓Android終止Service
並釋放MediaPlayer
中的Service
的onDestroy
?我看不到其他的選擇,因爲我需要只要應用程序運行時,它運行...
public class StreamPlayerFragment extends Fragment{
@Override
@Override
public void onCreate (Bundle savedInstanceState){
super.onCreate(savedInstanceState);
// start service
Intent intent = new Intent(getActivity(), StreamService.class);
getActivity().startService(intent);
}
@Override
public void onResume() {
super.onResume();
// bind service
Intent intent = new Intent(getActivity(), StreamService.class);
getActivity().bindService(intent, mConnection, Context.BIND_AUTO_CREATE)
}
@Override
public void onPause() {
// unbind service
if (mBound) {
getActivity().unbindService(mConnection);
mBound = false;
}
super.onPause();
}
}
我需要它旁邊的應用程序運行,而不是一個活動(但它必須綁定到'StreamPlayerFragment'的'Activity'控制'MediaPlayer'在'StreamService')。如果我想將它作爲綁定服務啓動,我必須將其綁定到我的所有活動,這需要大量無用的代碼,並且不是必需的。我不想調用'stopService()',因爲只要我的應用程序運行,我就想讓'Service'運行。這就是爲什麼我想最好的辦法是讓Android在'StreamService'的'onDestroy()'中銷燬'Service'並釋放'MediaPlayer'。我只是想知道是否有其他方法... – jul