使用我们非常简单的Cordova应用程序在ZTE A112 Android 6上看到一个奇怪的(不需要的)行为,该应用程序目前正在监听volumedown/volumeup
个事件。在ondeviceready
之后注册了听众。该事件在释放相应按钮时触发,而不是按下(这是我们需要的)。似乎无法深究它。
在ondeviceready之后:
document.addEventListener('volumeupbutton', volumeUpKeyHandler, false);
document.addEventListener('volumedownbutton', volumeDownKeyHandler, false);
尝试使用其他品牌的手机,看看它是否遵循,或者它是手机专用的东西。如果有人以前看过这个或任何线索,那将非常感激。
答案 0 :(得分:0)
Cordova默认触发CordovaWebViewImpl.java中的KeyEvent.ACTION_UP(而不是ACTION_DOWN),这意味着在释放密钥时会发生传播事件。看起来这样做可以最大限度地减少事件数量,因为ACTION_DOWN会触发事件流,而ACTION_UP会发出单个事件。
答案 1 :(得分:0)
截至2020年2月,Android的Cordova仍不支持此功能。
以下是进行此项工作所需的更改:https://github.com/trullock/launch-pad/commit/244d67971063203491434bbd03cf91a0493eb04f
尚未经过严格测试,仅是Android实现。
总比没有好!