Обработка кнопки возврата VideoView на Android Pie - PullRequest
0 голосов
/ 18 декабря 2018

Я использую 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

...