首页 文章

Cordova - menubutton-event不会开火

提问于
浏览
3

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

在文档的帮助下,我能够捕获一些按钮,例如“音量增加”键:

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

function onVolumeUpKeyDown() {
    console.log("Volume up pressed");
}

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

  • 后退

  • menubutton

  • 搜索按钮

  • startcallbutton

  • endcallbutton

  • volumedownbutton

  • volumeupbutton

我希望用户在按下遥控器菜单按钮时进入我的应用程序的设置页面,但不幸的是这个按钮对我不起作用 . Here is the description on the cordova site和示例代码:

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

function onMenuKeyDown() {
  console.log("Menu pressed");
}

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

keyCode=KEYCODE_MENU

still, cordova doesn't fire the event... Why?

Screenshot Keytest

1 回答

  • 8

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

    添加此行

    navigator.app.overrideButton("menubutton", true);
    

    然后你可以使用

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

相关问题