Я пытаюсь непрерывно воспроизводить музыку в фоновом режиме без нажатия какой-либо кнопки, она должна воспроизводиться при запуске, и снова ее можно остановить с помощью кнопки «Стоп». Но она не останавливается, поскольку помещена в Oncreate (), что может быть решением для этого.
Пожалуйста, кто-нибудь, скажите мне, как остановить сервис. Спасибо заранее.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
start = findViewById(R.id.startbutton);
stop = findViewById(R.id.stopbutton);
Intent i = new Intent(this, Service.class);
this.startService(i);
stop.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent i = new Intent(view.getContext(), Service.class);
stopService(i);
Toast.makeText(MainActivity.this, "stop service called", Toast.LENGTH_SHORT).show();
}
});
start.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent i = new Intent(view.getContext(), Service.class);
startService(i);
}
});
}
Ниже указан мой Сервисный код
private MediaPlayer player;
public Service() {
super();
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
player= MediaPlayer.create(this,
Settings.System.DEFAULT_RINGTONE_URI);
player.setLooping(true);
player.start();
return START_STICKY;
}
@Override
public void onDestroy() {
super.onDestroy();
player.stop();
}
@Nullable
@Override
public IBinder onBind(Intent intent) {
return null;
}
}