Android: Как узнать, завершено ли действие? - PullRequest
15 голосов
/ 11 июня 2011

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

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

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

1 Ответ

22 голосов
/ 11 июня 2011

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

onStop будет срабатывать, когда пользователь нажимает кнопку возврата. Так что обрабатывайте свои события в onStop.

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

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

...