phonegap`lubmedownbutton`事件未被解雇

时间:2012-11-06 21:52:01

标签: iphone cordova javascript-events

我正在尝试使用phonegap api文档中的example来尝试检测音量增大和减小按钮按下事件。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
  <head>
    <script type="text/javascript" charset="utf-8" src="cordova-1.8.1.js"></script>
    <script type="text/javascript" charset="utf-8">

    function onLoad() {
        document.addEventListener("deviceready", onDeviceReady, false);
    }

    function onDeviceReady() {
        document.addEventListener("volumedownbutton", onVolumeDownKeyDown, false);
        console.log("DeviceReady");
    }

    function onVolumeDownKeyDown() {
        console.log("onVolumeDownKeyDown");
    }

</script>
</head>
  <body onload="onLoad()">
  </body>
</html>

当我使用我的iphone运行它时,我只看到第一个日志DeviceReady但是当我按下iphone上的音量按钮时,我看不到第二个日志。

您知道我的手机是否存在问题,或者我的xCode项目中是否存在问题? (缺少插件或配置)。

我怀疑应用程序BiteSMS,因为它修改了Volume Change弹出窗口行为(它标记为“按下以使用BiteSMS”),但即使在我删除它之后仍然没有。

  • iPhone 4 /越狱
  • iOS 5.0.1
  • phonegap 1.8.1

1 个答案:

答案 0 :(得分:1)

我不知道,当你提出这个问题时(2012年12月6日),但是目前(2013年7月,PhoneGap 3.0.0),PhoneGap API documentation正确地说,PhoneGap Bootstrap demo BlackBerry WebWorks(OS 5.0及更高版本)上支持<}>仅{<1}},volumedownbuttonvolumeupbutton事件(仅限 <事件<} / em>的

所以,我非常感到惊讶,你不会在iOS / iPhone上被解雇! :

我没有机会在iOS上测试我的{{3}}应用程序(包括PhoneGap触发的所有事件的示例处理程序),但我在我的Android设备上测试过(两个用于Android 2.x,一个用于Android 4.2)并且它们都不支持(触发)这四个事件。最后两个 - endcallbuttonstartcallbutton - 当然,因为大多数基于Android的设备没有开始/结束呼叫按钮。至于前两个 - endcallbuttonstartcallbutton事件 - 这些也不受支持。您可以在PhoneGap应用程序中更改音量,并且看到系统音量栏发生变化,但PhoneGap应用程序根本不会做出反应。