我正在将VideoView
与MediaController
一起使用。我正在解决常见的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上,当媒体控件可见时,我在任何地方都没有收到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);
当我删除上面的代码时,一切正常,但是我需要这些媒体控件
一年前有人遇到类似的问题,没有任何答案...(请注意,Pie年龄较小...]
Android back button not working while playing video in VideoView
我正在将VideoView与MediaController一起使用。我正在解决常见的back-press bug,因此我们可以找到很多有关此的主题:Android后退按钮和MediaController后退按钮将'...
我一直在寻找解决方案,直到我自己找到它: