3.0版本后,cordova通过插件模式实现设备API,使用CLI的plugin命令可以添加或者移除插件:
$ cordova plugin add org.apache.cordova.device-motion
$ cordova plugin ls
[ 'org.apache.cordova.device-motion' ]
$ cordova plugin rm org.apache.cordova.device-motion
这个命令可以应用于所有平台,但是修改平台特定的配置设置需要使用下面的方法
- Amazon Fire OS(在 res/xml/config.xml中)
<feature name="Accelerometer">
<param name="android-package" value="org.apache.cordova.devicemotion.AccelListener" />
</feature> - Android(在 res/xml/config.xml中)
<feature name="Accelerometer">
<param name="android-package" value="org.apache.cordova.devicemotion.AccelListener" />
</feature> - BlackBerry 10 (在www/config.xml中)
<feature name="Accelerometer" value="Accelerometer" />
- IOS (在应用程序名的 config.xml 文件)
<feature name="Accelerometer">
<param name="ios-package" value="CDVAccelerometer" />
</feature> - Windows Phone (在 Properties/WPAppManifest.xml中)
<Capabilities>
<Capability Name="ID_CAP_SENSORS" />
</Capabilities>
函数
accelerometer.getCurrentAccelerometer()
获取当前沿x、y、z方向的加速度。
navigator.accelerometer.getCurrentAcceleration(accelerometerSuccess, accelerometerError);
描述
加速度传感器是一种运动传感器,它检测设备在三维空间中沿x/y/z方向相对于前一时刻的变化数据。
这些值是通过传递给 accelerometerSuccess 回到函数的参数返回的。
简单例子
function onSuccess(acceleration) {
alert('Acceleration X: ' + acceleration.x + '\n' +
'Acceleration Y: ' + acceleration.y + '\n' +
'Acceleration Z: ' + acceleration.z + '\n' +
'Timestamp: ' + acceleration.timestamp + '\n');
}; function onError() {
alert('onError!');
};
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
navigator.accelerometer.getCurrentAcceleration(onSuccess, onError);
}
远程使用,要注意需要把plugins 等拷贝过去。