在Android Pie上处理后退按钮VideoView

问题描述 投票:0回答:1

我正在将VideoViewMediaController一起使用。我正在解决常见的back-press bug,因此我们可以找到很多与此相关的主题:

Android back button and MediaController

Back button won't work when VideoView is playing video

First Back button press not caught when playing a video android

Problem with back button in VideoView

所有这些都建议覆盖dispatchKeyEvent内部的MediaController。但这不会在Android Pie上触发...该方法在较旧的OS版本上适用,但是在Pie上,当媒体控件可见时,我在任何地方都没有收到dispatchKeyEventonKeyPressed调用-ActivityonBackPressed也已选中),包括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);

当我删除上面的代码时,一切正常,但是我需要这些媒体控件

一年前有人遇到类似的问题,没有任何答案...(请注意,Pie年龄较小...]

Android back button not working while playing video in VideoView

我正在将VideoView与MediaController一起使用。我正在解决常见的back-press bug,因此我们可以找到很多有关此的主题:Android后退按钮和MediaController后退按钮将'...

android android-videoview onbackpressed android-9.0-pie
1个回答
0
投票

我一直在寻找解决方案,直到我自己找到它:

© www.soinside.com 2019 - 2024. All rights reserved.