媒体控制器上的Android后退按钮,用于从webView播放的视频

时间:2015-03-11 21:49:29

标签: android android-mediaplayer mediacontroller

我正在webView中显示视频,我注意到Kindle设备的特定行为。首先,您必须滑出设备按钮(在Kindle Fire HD上),这将显示视频的视频控件。控件启动时按后退按钮将首先隐藏视频控件。然后你必须再次按下后退按钮才能关闭视图。即使在控件启动时,我一直试图在第一次背压时忽略该视图。我遇到的冲突是,当控件启动时,我无法捕获第一个后退按钮。一旦控件消失了,我按下后退按钮显示在我的@Override onBackPressed()或下面的dispatchKeyEvent()我添加试图解决这个问题。

@Override
public boolean dispatchKeyEvent(KeyEvent event) {
    int action = event.getAction();
    int keyCode = event.getKeyCode();
    switch (keyCode) {
    case KeyEvent.KEYCODE_BACK:
        if (action == KeyEvent.ACTION_DOWN) {
            // TODO
            finish();
        }
        return true;
    default:
        return super.dispatchKeyEvent(event);
    }
}

按两次后退按钮(控件消失后)将注册keyEvent。但你还是要按两次。有没有其他人遇到过这场冲突和/或你知道修复吗?我添加了dispatchkeyEvent()和onBackPressed(),因为我希望dispatchKeyEvent()能够捕获第一个后退,然后onBackPressed()将捕获第二个OR dispatchKeyEvent()将捕获两者。第一次背压时,控件启动时我什么都没得到。提前谢谢!

1 个答案:

答案 0 :(得分:1)

ACTION_DOWN将为您提供层次结构中的下一个可用子操作。但是,我认为您的意思是ACTION_UP,它会将您带到父屏幕。您还应该尝试在finish()语句之前添加if