java - Android TV 模拟器无法识别媒体键事件

标签 java android android-tv

我的 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 TV 设备模拟器中调试时,当我按下方向键扩展控件中的按钮时,我可以看到 KEYCODE_DPAD_LEFT 和 KEYCODE_MEDIA_PLAY_PAUSE。

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

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

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

Directional pad extended control in Android TV emulator

最佳答案

似乎 TV Emulator 实际上并没有在这里提供正确的键码,这似乎是一个错误。

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

adb shell 输入 dpad keyevent 90

这将触发 KEYCODE_MEDIA_FAST_FORWARD 按钮。

关于java - Android TV 模拟器无法识别媒体键事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55191246/

相关文章:

android - 如何将设计支持库与 Leanback 一起用于 Android TV?

java - 如何在 SQL Java 中将列表值作为参数传递

java - 在spring框架中读取带注解的属性文件

java - 开/闭原则在Java中的应用

android - Android TV 上不会显示通知

android - 如何为 Android TV 自定义选定的 RowPresenter

java - 如何使用 CXF 获取发件人公钥?

安卓 : Image thumbnail gallery from URI's stored in database

android - 在多态数组上实现 Parcelable 接口(interface)

android - 如何降低 VS 工具为 Apache Cordova 创建的 Android 应用程序的安全风险?