自己根据学习写了个音乐播放器。功能如图。通过service播放、切换歌曲、暂停等。更新ui进度条。
绑定方式两种bindservice,应用退出服务结束。歌曲停止播放。
startService,应用退出,服务继续播放音乐。下次进入应用继续显示当前播放歌曲进度。
bindservice通过ServiceConnection 获得service对象。如下:
private ServiceConnection conn=new ServiceConnection() {
@Override
public void onServiceDisconnected(ComponentName name) {
// TODO Auto-generated method stub
mBound=false;
}
@Override
public void onServiceConnected(ComponentName name, IBinder service) {
// TODO Auto-generated method stub
MyBInder binder=(MyBInder)service;
media_service=(Media_service)binder.getService();
mBound=true;
mThread.start();
}
};
@Override
public void onServiceDisconnected(ComponentName name) {
// TODO Auto-generated method stub
mBound=false;
}
@Override
public void onServiceConnected(ComponentName name, IBinder service) {
// TODO Auto-generated method stub
MyBInder binder=(MyBInder)service;
media_service=(Media_service)binder.getService();
mBound=true;
mThread.start();
}
};
startService通过BroadcastReceiver获得对象。如下:
private class MsgReceiver extends BroadcastReceiver
{
@Override
public void onReceive(Context context, Intent intent) {
if(ServiceSwitch.equals("startService"))
{
MyBInder binder=(MyBInder)intent.getExtras().getBinder("iBinder");
media_service=(Media_service)binder.getService();
mBound=true;
mThread.start();
}
}
}
代码地址: http://download.csdn.net/detail/u010470383/9452856