我知道如何控制后退按钮.我有一个VideoView嵌入式FrameLayout.我的问题是当视频弹出时,视频控件会出现几秒钟.在可见时按下后退按钮会隐藏视频控件.有没有办法忽略该功能并执行下一步后退操作,就好像视频控件不可见?
我问的原因是,如果我真的想要回去,我必须按两次后退按钮; 一次隐藏控件,第二次实际返回
在VideoView中播放视频时,Android后退按钮无效.但它在播放视频之前有效.我正在为VideoView使用自定义MediaController.
我尝试使用dispatchKeyEvent,它无法正常工作.
使用VideoView的活动代码:
mc = new CustomMediaController(mVideo.getContext(), screenIcon) {
@Override
public void hide(){
}
@Override
public boolean dispatchKeyEvent(KeyEvent event){
if (event.getKeyCode() == KeyEvent.KEYCODE_BACK) {
super.hide();
((Activity) getContext()).finish();
return true;
}
return super.dispatchKeyEvent(event);
}
};
Run Code Online (Sandbox Code Playgroud)
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK)) {
onBackPressed();
finish();
}
return true;
}
@Override
public void onBackPressed() {
super.onBackPressed();
finish();
}
Run Code Online (Sandbox Code Playgroud)
CustomMediaController还包含dispatchKeyEvent:
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
if (event.getKeyCode() == KeyEvent.KEYCODE_BACK) {
((Activity) getContext()).finish();
}
return super.dispatchKeyEvent(event); …Run Code Online (Sandbox Code Playgroud)