У меня есть служба, которая играет фоновую музыку во всех действиях моего приложения. В любой деятельности, я добавил:Служба фоновой музыки не отключается
public void onPause() {
super.onPause();
stopService(new Intent(OpenerPlay.this, MusicDoctorService.class));
}
public void onStop() {
super.onStop();
stopService(new Intent(OpenerPlay.this, MusicDoctorService.class));
}
public void onResume() {
super.onResume();
startService(new Intent(OpenerPlay.this, MusicDoctorService.class));
}
public void onRestart() {
super.onRestart();
startService(new Intent(OpenerPlay.this, MusicDoctorService.class));
}
Моя цель состояла в том, чтобы остановить или возобновить работу, которая играет музыку, когда я закрыть приложение или выключить экран. Но он также останавливается, когда я переключаюсь на другую активность. Должен ли я что-то изменить в коде моего сервиса? Наконец: я хотел бы, чтобы моя служба воспроизводила музыку, чтобы остановить экран, выключить или закрыть приложение, но не во время переключения активности.
Услуги:
public class MyService extends Service {
private final String TAG = null;
MediaPlayer player;
public IBinder onBind(Intent arg0) {
return null;
}
@Override
public void onCreate() {
super.onCreate();
player = MediaPlayer.create(this, R.raw.music);
player.setLooping(true); // Set looping
player.setVolume(100, 100);
}
public int onStartCommand(Intent intent, int flags, int startId) {
player.start();
return 1;
}
public void onStart(Intent intent, int startId) {
// TO DO
}
public IBinder onUnBind(Intent arg0) {
// TO DO Auto-generated method
return null;
}
protected void onStop() {
player.pause();
}
public void onPause() {
player.pause();
}
@Override
public void onDestroy() {
player.stop();
player.release();
}
@Override
public void onLowMemory() {
}
}