Cordova - menubutton-event不会开火

Mic*_*l B 3 javascript android cordova

我正在开发一个带有cordova的Android应用程序.android 4.4设备与蓝牙遥控器连接.

在文档的帮助下,我能够捕获一些按钮,例如"volume-up"-key:

document.addEventListener("volumeupbutton", onVolumeUpKeyDown, false);

function onVolumeUpKeyDown() {
    console.log("Volume up pressed");
}
Run Code Online (Sandbox Code Playgroud)

根据cordova文档,还有一些其他可用密钥的Eventlisteners:

  • 返回键
  • 菜单按钮
  • 搜索按钮
  • startcallbutton
  • endcallbutton
  • volumedownbutton
  • volumeupbutton

我希望用户在按下遥控器菜单按钮时进入我的应用程序的设置页面,但不幸的是这个按钮对我不起作用.以下是cordova网站上的说明和示例代码:

document.addEventListener("menubutton", onMenuKeyDown, false);

function onMenuKeyDown() {
  console.log("Menu pressed");
}
Run Code Online (Sandbox Code Playgroud)

我找到了一个名为" keytest " 的APK ,它显示了按下的键.此应用程序识别:

keyCode=KEYCODE_MENU

仍然,科尔多瓦没有解雇这个事件......为什么?

截图Keytest

jce*_*ile 10

它没有记录,但您必须覆盖菜单按钮才能使其正常工作

添加此行

navigator.app.overrideButton("menubutton", true);
Run Code Online (Sandbox Code Playgroud)

然后你可以使用

document.addEventListener("menubutton", yourCallbackFunction, false);