Android 电视模拟器无法识别媒体键事件

Android TV emulator not recognizing media key events

我的 activity:

中有这个事件处理程序
@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 电视设备模拟器中调试时,当我按下方向键扩展控件中的按钮时,我可以看到 KEYCODE_DPAD_LEFT 和 KEYCODE_MEDIA_PLAY_PAUSE。

但是当我按下"fast forward"或"rewind"媒体键时,会触发按键事件,但键码是"unrecognized"。

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

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

似乎电视模拟器实际上没有在这里提供正确的键码,这似乎是一个错误。

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

adb shell input dpad keyevent 90

这将触发 KEYCODE_MEDIA_FAST_FORWARD 按钮。