cordova,phonegap 重力感应

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 等拷贝过去。
原文地址:https://www.cnblogs.com/aibo/p/4194788.html