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
按钮。
我的 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
按钮。