我正在创建一个无线电流媒体应用;为了在用户使用其他应用程序时保持音频播放,我知道我需要使用前台服务来运行与流式传输音频相关的代码。
目前,我的MainActivity
课程中包含以下代码:
@Override
protected void onStart() {
super.onStart();
if(playIntent==null){
playIntent = new Intent(this, MusicService.class);
bindService(playIntent, musicConnection, Context.BIND_AUTO_CREATE);
startService(playIntent);
}
}
和
private ServiceConnection musicConnection = new ServiceConnection(){
@Override
public void onServiceConnected(ComponentName name, IBinder service) {
MusicService.MusicBinder binder = (MusicService.MusicBinder)service;
//get service
musicSrv = binder.getService();
musicBound = true;
}
@Override
public void onServiceDisconnected(ComponentName name) {
musicBound = false;
}
};
我在startService()
的{{1}}中呼叫onStart()
,但我知道我应该呼叫MainActivity
,但我无法让它正常工作。 startForeground()
关闭后我没有真正需要与用户通信,因为它只是一个无线电流媒体应用程序/用户不需要能够更改或识别当前正在播放的歌曲。有关改变我的服务运作方式的任何建议吗?感谢。