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 + ' ' + 'Acceleration Y: ' + acceleration.y + ' ' + 'Acceleration Z: ' + acceleration.z + ' ' + 'Timestamp: ' + acceleration.timestamp + ' '); }; function onError() { alert('onError!'); }; document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
navigator.accelerometer.getCurrentAcceleration(onSuccess, onError);
}
远程使用,要注意需要把plugins 等拷贝过去。