【问题标题】:Android TV emulator not recognizing media key eventsAndroid TV 模拟器无法识别媒体键事件
【发布时间】:2019-08-07 01:02:42
【问题描述】:

我的活动中有这个事件处理程序:

@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {

    switch (keyCode) {
        case KeyEvent.KEYCODE_MEDIA_FAST_FORWARD:
            //do something
            return true;
        case KeyEvent.KEYCODE_MEDIA_REWIND:
            //do something
            return true;

        default:
            return super.onKeyUp(keyCode, event);
    }
}

在 Android TV 设备模拟器中调试时,当我按下方向键扩展控制中的按钮时,我可以看到 KEYCODE_DPAD_LEFT 和 KEYCODE_MEDIA_PLAY_PAUSE。

但是当我按下“快进”或“快退”媒体键时,按键向上事件被触发,但键码“无法识别”。

KeyEvent { action=ACTION_UP, keyCode=KEYCODE_UNKNOWN, scanCode=208...

这是 Google 的错误还是我在这里做错了什么?

【问题讨论】:

  • 这里只是在黑暗中拍摄,但您是否尝试过检查提供给 onKeyUp 的 keyCode 与 KeyEvent.keyCodeToString(keyCode)?您也可以尝试覆盖dispatchKeyEvent,看看那里的 KeyEvent 是否也搞砸了。
  • keyCode 返回是 KEYCODE_UNKNOWN。 “扫码”是 208
  • 问题解决了吗?即使在 FireStick 我得到 KEYCODE_UNKNOWN
  • 不,抱歉,从来没有

标签: java android android-tv


【解决方案1】:

看来 TV Emulator 实际上并没有在此处提供正确的 keycode,这似乎是一个错误。

你可以通过命令行模拟这个:

adb shell input dpad keyevent 90

这将触发KEYCODE_MEDIA_FAST_FORWARD 按钮。

【讨论】:

    猜你喜欢
    • 2016-03-02
    • 1970-01-01
    • 2013-08-17
    • 1970-01-01
    • 1970-01-01
    • 2013-04-04
    • 2021-09-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多