Android: Как узнать, закончено ли занятие?
-
26-10-2019 - |
Вопрос
Я работаю над приложением, которое воспроизводит файлы MP3 автоматически и последовательно изнутри заданного действия. Он знает, когда текущая MP3 -игра завершена, прослушивая событие "Oncomplotion" от MediaPlayer.
Однако, если я вернусь на начало дисплея, нажав кнопку на спине во время воспроизведения мультимедиа, очевидно, что активность все еще работает. Когда запускается событие «Oncomplotion», оно пытается получить доступ к представлению в рамках действия списка и сбои на исключение NULL Pointer.
Как лучше всего определить, что деятельность больше не является «активной» и, следовательно, может предотвратить воспроизведение призыва к следующему аудио?
Решение
Попробуйте запустить тех, кто находится в методах жизненного цикла активности OnStop или Ondestroy. Проверять эта документация Больше подробностей.
OnStop будет запускаться, когда пользователь нажимает на кнопку Back. Так что обрабатывайте свои события в Onstop.
public void onStop () {
//do your stuff here
super.onStop()
}
В конце концов, он также будет вызван, но не обязательно, как только нажата кнопка на спине.