0

好的,所以我现在正在通过示例学习Phongap。我有大约 7-8 个月的 javascript 接触/经验,但我对 xCode 和 Phonegap 完全陌生(大约一个半星期)。我不觉得这会影响我现在的问题。

我不想问,“navigator.accelerometer 存在吗?”,但这似乎是现在的问题。我“知道”它确实存在,因为它在大量示例中无处不在,但是当我真正尝试调用它时,我得到关于它未定义的错误。我正在这样做,但无济于事:

var foo = navigator.accelerometer.watchAcceleration(onSuccess, onError, options);

当我打电话时,navigator.accelerometer我得到“'undefined' is not an object”。

我在编译时安装并运行了 Phonegap,所以我对问题可能是什么没有更多的想法。我假设这不是一个已弃用的属性或语法,并且根据我在 W3C 学校中看到的内容,我已经得出结论(可能是无知的)这是Phonegapaccelerometer添加的一个属性。navigator非常感谢您的帮助。谢谢

4

2 回答 2

3

转到您的 config.xml 并添加

<plugin name="Accelerometer" value="CDVAccelerometer" />

<plugins>节中。或者,如果您使用科尔多瓦 3.0+

<feature name="Accelerometer">
      <param name="ios-package" value="CDVAccelerometer" />
</feature>
于 2013-09-09T14:52:03.823 回答
0

首先绑定deviceready事件并在onDeviceReady函数内调用您的方法:

document.addEventListener('deviceready', onDeviceReady, false);
function onDeviceReady() {
    // NOTE: implement onSuccess and onError callback functions
    var foo = navigator.accelerometer.watchAcceleration(onSuccess, onError, options);
}
于 2015-03-24T11:29:40.727 回答