Android: Как узнать, завершена ли работа?
Я работаю над приложением, которое воспроизводит mp3 файлы автоматически и последовательно изнутри заданного действия. он знает, когда текущее воспроизведение mp3 завершено, прослушивая событие onCompletion из MediaPlayer.
Однако, если я вернусь к начальному экрану, нажав кнопку "Назад" во время воспроизведения медиа, видимо, активность все еще работает. Когда инициируется событие "onCompletion", он пытается получить доступ к представлению в активности списка и сбой при исключении нулевого указателя.
Каков наилучший способ определить, что активность больше не "активна" и, следовательно, может помешать вызову воспроизвести следующий звук?
Ответы
Ответ 1
Попробуйте запустить те методы жизненного цикла Activity onStop или onDestroy. Подробнее о этой документации.
onStop будет запущен, когда пользователь нажмет кнопку "Назад". Поэтому обрабатывайте свои события в onStop.
public void onStop () {
//do your stuff here
super.onStop()
}
В конце концов onDestroy также будет вызываться, но не обязательно, как только будет нажата кнопка "Назад".