私は音楽を再生する 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();
}
}
それは正常に動作しますが、別のアクティビティを開始すると、音楽がオフになり、サービスが破壊されたようです!! しかし、これは望ましくありません。アプリケーションが終了したときにのみサービスを停止したいのです。ユーザーがアプリで作業している場合にのみ音楽が再生されます。バックグラウンドでアプリを使用しているときでも、音楽を再生したくありません。どうすればこれを実装できますか?