我有一个播放音乐的 android 服务。我使用以下代码开始我的主要活动:
Intent service = new Intent(MainMenu.this, musicservice.class);
MainMenu.this.startService(service);
这是我的服务:
public class musicservice extends Service {
@Override
public IBinder onBind(Intent arg0) {
return null;
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
super.onStartCommand(intent, flags, startId);
MediaPlayer mp;
mp = MediaPlayer.create(musicservice.this, R.raw.music);
mp.setOnCompletionListener(new OnCompletionListener() {
public void onCompletion(MediaPlayer mp) {
mp.release();
}
});
mp.start();
return Service.START_STICKY;
}
@Override
public void onDestroy() {
super.onDestroy();
}
}
它 stsrts 工作正常,但是当我开始另一个活动时,我的音乐响起,似乎我的服务被破坏了!但不想要这个,我希望我的服务只在我的应用程序结束时停止。音乐仅在用户使用应用程序时播放。即使应用程序在后台运行,我也不希望我的音乐播放!我怎么能实现这个?