在Android中运行前台服务

时间:2015-06-02 00:54:01

标签: java android android-service android-mediaplayer android-service-binding

我正在创建一个无线电流媒体应用;为了在用户使用其他应用程序时保持音频播放,我知道我需要使用前台服务来运行与流式传输音频相关的代码。

目前,我的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()关闭后我没有真正需要与用户通信,因为它只是一个无线电流媒体应用程序/用户不需要能够更改或识别当前正在播放的歌曲。有关改变我的服务运作方式的任何建议吗?感谢。

0 个答案:

没有答案