javascript - Cordova - 菜单按钮事件不会触发

标签 javascript android cordova

我正在使用 cordova 开发 Android 应用程序。 android 4.4设备连接蓝牙 Remote 。

在文档的帮助下,我能够捕捉到一些按钮,例如“提高音量”键:

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

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

根据cordova-documentation ,还有一些其他可用键的事件监听器:

  • 后退按钮
  • 菜单按钮
  • 搜索按钮
  • 开始调用按钮
  • 通话结束按钮
  • 音量下降按钮
  • 音量增加按钮

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

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

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

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

keyCode=KEYCODE_MENU

仍然,cordova 没有触发事件...为什么?

Screenshot Keytest

最佳答案

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

添加这一行

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

然后就可以使用了

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

关于javascript - Cordova - 菜单按钮事件不会触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35847257/

相关文章:

java - 我应该使用哪些 Android API?简单的 map 应用

java - Eclipse 安卓配置问题

javascript - 如何从已连接的 Android 设备查看 Cordova 日志消息?

visual-studio - 创建 Cordova 应用程序 Visual Studio 2015 构建错误

javascript - 为 CKEditor 的插件命令添加热键

javascript - ActivityIndi​​cator 在 native react 中不起作用

javascript - Angular ng-class如果数组的长度小于X?

javascript - 将值添加到选择并排序

java - 从我的 Android 应用程序打开特定的 Whatsapp 联系人

javascript - 我们可以在 Java 脚本中打开 2 个表以在 PHONE GAP 域中工作吗