当前位置: 首页 > 知识库问答 >
问题:

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

拓拔俊艾
2023-03-14

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

@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\u UP,keyCode=keyCode\u UNKNOWN,scanCode=208。。。

这是谷歌的bug还是我做错了什么?

共有1个答案

牧熙云
2023-03-14

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

您可以通过命令行对此进行模拟:

adb外壳输入dpad keyevent 90

这将触发KEYCODE_MEDIA_FAST_FORWARD按钮。

 类似资料:
  • 如果可能的话,我需要一些意见或建议。我有一个使用语音识别api和媒体记录器的应用程序。该应用程序的要点是当用户说“注意”时,它会记录语音消息,直到用户说“完成”。之后,应用程序将语音消息保存到手机中。 我目前有一个带有按钮(记录、保存、停止、完成)的弹出框,用户可以手动按下按钮来记录他们的语音信息。我正在考虑完全改造用户拥有完全语音控制的应用程序。所以基本上,它越免提越好。 我从这里开始研究连续语

  • 问题内容: 我的键盘包含用于执行各种非标准键盘任务的一行按钮。这些键包含诸如修改音量,播放或暂停以及跳过曲目等功能。如何使用Python模拟基本播放/暂停?顺便说一下,我在Windows上。 问题答案: 我会用pywin32。与安装捆绑在一起的是大量的API文档(通常放在。),它实际上包装了Win32库中的许多内容,该库用于Windows中的许多低级任务。 安装后,您可以使用keybd_event

  • 我刚在Ubuntu12.04中设置了Android开发环境。我制作了一个Android2.3.3版的AVD并在上面运行了我的应用程序。但我不能使用我的电脑键盘或键盘右侧给它。这是什么原因呢? 我的ADT版本是20.0。我早些时候在Windows上开发,它运行良好。

  • 不能将“virtualenv”识别为内部或外部命令、可操作程序或批处理文件。 我正在遵循的步骤 在默认目录下安装-pip安装virtualenv 要创建一个venv,请运行此virtualenv-p python3 venv 激活virtualenv\Scripts\Activate 它看起来像这样(venv)

  • 我有以下序列

  • 我不确定这是否是一个与我没有这台计算机的管理权限有关的问题。任何帮助,以便我可以进一步排除故障,将非常感谢! 谢谢