Я использую VideoView
с MediaController
.Я борюсь с ошибкой обратного нажатия, которая является обычной, и на SO мы можем найти много тем об этом:
кнопка возврата Android и MediaController
Кнопка «Назад» не работает, когда VideoView воспроизводит видео
Первое нажатие кнопки «Назад» не воспроизводится при воспроизведении видео на Android
Проблема скнопка возврата в VideoView
- все они предлагают переопределить dispatchKeyEvent
внутри MediaController
.Но он не запускается на Android Pie ... Метод работает на старых версиях ОС, но на Pie я не получаю вызов dispatchKeyEvent
или onKeyPressed
в любом месте, когда видны элементы управления мультимедиа - Activity
(onBackPressed
также проверено), любые View
, включая VideoView
(имеет фокус в течение всего времени выполнения) и MediaController
.На самом деле, пока на экране отображается MediaController
, кнопка «Назад» не работает (не закрывает Activity
и не скрывает MediaController
), и я не могу понять, «кто» использует это событие ...
MediaController mp = new MediaController(this) {
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
if (event.getKeyCode() == KeyEvent.KEYCODE_BACK) {
if (event.getAction() == KeyEvent.ACTION_UP)
onBackPressed();
return true;
}
return super.dispatchKeyEvent(event);
}
};
videoView.setMediaController(mp);
когда я удаляю приведенный выше код, все работает нормально, но мне нужны эти средства управления мультимедиа
у кого-то была подобная проблема год назад, без какого-либо ответа ... (обратите внимание, что Пирог моложе...)
Кнопка Android не работает при воспроизведении видео в VideoView