我正在做一个收音机应用,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