2

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

<!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修改了音量更改弹出行为(它添加了“按下以使用 BiteSMS”),但即使在我删除它之后仍然没有。

  • iPhone 4 / 越狱
  • iOS 5.0.1
  • 电话间隙 1.8.1
4

1 回答 1

1

我不知道,当您问这个问题时(2012 年 12 月 6 日),但目前(2013 年 7 月,PhoneGap 3.0.0),PhoneGap API 文档准确地说,该volumedownbutton事件(与volumeupbutton,endcallbuttonstartcallbutton事件)BlackBerry WebWorks(OS 5.0 和更高版本)上受支持。

所以,我并不感到惊讶,你没有让他们在 iOS / iPhone 上被解雇!:]

我没有机会在 iOS 上测试我的PhoneGap Bootstrap 演示应用程序(其中包括由 PhoneGap 触发的所有事件的示例处理程序),但我在我的 Android 设备上进行了测试(两台使用 Android 2.x,一台使用 Android 4.2)并且没有其中支持(触发)这四个事件。最后两个 -自然endcallbuttonstartcallbutton因为大多数基于 Android 的设备没有开始/结束通话按钮。至于前两个 -volumedownbuttonvolumeupbutton事件 - 这些也不支持。当您在 PhoneGap 应用程序中时,您可以更改音量,并且您会看到系统音量条发生变化,但 PhoneGap 应用程序根本没有反应。

于 2013-07-22T06:24:48.693 回答