Подтвердить что ты не робот

Android: Как узнать, завершена ли работа?

Я работаю над приложением, которое воспроизводит mp3 файлы автоматически и последовательно изнутри заданного действия. он знает, когда текущее воспроизведение mp3 завершено, прослушивая событие onCompletion из MediaPlayer.

Однако, если я вернусь к начальному экрану, нажав кнопку "Назад" во время воспроизведения медиа, видимо, активность все еще работает. Когда инициируется событие "onCompletion", он пытается получить доступ к представлению в активности списка и сбой при исключении нулевого указателя.

Каков наилучший способ определить, что активность больше не "активна" и, следовательно, может помешать вызову воспроизвести следующий звук?

4b9b3361

Ответ 1

Попробуйте запустить те методы жизненного цикла Activity onStop или onDestroy. Подробнее о этой документации.

onStop будет запущен, когда пользователь нажмет кнопку "Назад". Поэтому обрабатывайте свои события в onStop.

public void onStop () {
//do your stuff here
super.onStop() 
}

В конце концов onDestroy также будет вызываться, но не обязательно, как только будет нажата кнопка "Назад".