启动一个Service来负责后台播放音乐,将这个service绑定到Activity上,这样他俩的生命周期就相同了,Activity推出后音乐也会停止。
下面以一个简单的例子说明一下:
1、MusicServer.java类,内容为
import android.app.Service;
import android.content.Intent;
import android.media.MediaPlayer;
import android.os.IBinder;
public class MusicServer extends Service {
private MediaPlayer mediaPlayer;
@Override
public IBinder onBind(Intent intent) {
// TODO Auto-generated method stub
return null;
}
@Override
public void onStart(Intent intent,int startId){
super.onStart(intent, startId);
if(mediaPlayer==null){
mediaPlayer = MediaPlayer.create(this, R.raw.yuanyiwei);
mediaPlayer.setLooping(true);
mediaPlayer.start();
}
}
@Override
public void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
mediaPlayer.stop();
}
}
3.将歌曲放入raw文件夹下,名称为yuanyiwei
4.在Activity中加入代码
private Intent Serviceintent = new Intent("com.angel.Android.MUSIC");
onCreate方法中加入startService(Serviceintent);
5.退出的页面添加
//防止退出后音乐不停止问题
protected void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
stopService(ServiceIntent);
System.exit(0);
}