# [accelerometer]()
Accelerometer模块管理设备加速度传感器,用于获取设备加速度信息,包括x(屏幕水平方向)、y(垂直屏幕水平方向)、z(垂直屏幕平面方向)三个方向的加速度信息。通过plus.accelerometer获取设备加速度传感器管理对象。
### 方法:
- [getCurrentAcceleration](http://www.dcloud.io/docs/api/zh_cn/accelerometer.shtml#plus.accelerometer.getCurrentAcceleration): 获取当前设备的加速度信息
- [watchAcceleration](http://www.dcloud.io/docs/api/zh_cn/accelerometer.shtml#plus.accelerometer.watchAcceleration): 监听设备加速度变化信息
- [clearWatch](http://www.dcloud.io/docs/api/zh_cn/accelerometer.shtml#plus.accelerometer.clearWatch): 关闭监听设备加速度信息
### 对象:
- [Acceleration](http://www.dcloud.io/docs/api/zh_cn/accelerometer.shtml#plus.accelerometer.Acceleration): 设备加速度信息对象
- [AccelerometerOption](http://www.dcloud.io/docs/api/zh_cn/accelerometer.shtml#plus.accelerometer.AccelerometerOption): 监听设备加速度感应器参数
### 回调方法:
- [AccelerometerSuccessCallback](http://www.dcloud.io/docs/api/zh_cn/accelerometer.shtml#plus.accelerometer.AccelerometerSuccessCallback): 获取设备加速度信息成功的回调函数
- [AccelerometerErrorCallback](http://www.dcloud.io/docs/api/zh_cn/accelerometer.shtml#plus.accelerometer.AccelerometerErrorCallback): 获取设备加速度信息失败的回调函数
### 权限:
permissions
~~~
"Accelerometer": {
"description": "访问加速度感应器设备"
}
~~~
# [getCurrentAcceleration]()
获取当前设备的加速度信息
~~~
void plus.accelerometer.getCurrentAcceleration( successCB, errorCB );
~~~
### 说明:
加速度是设备在当前方向上所做相对运动变化(增、减量)的运动传感器。加速度信息包括x、y、z三个方向的信息。 加速度信息可通过successCB回调函数返回。加速度信息获取失败则调用回调函数errorCB。
### 参数:
- successCB: *( [AccelerometerSuccessCallback](http://www.dcloud.io/docs/api/zh_cn/accelerometer.shtml#plus.accelerometer.AccelerometerSuccessCallback) ) 必选 *获取设备加速度信息成功回调函数
- errorCB: *( [AccelerometerErrorCallback](http://www.dcloud.io/docs/api/zh_cn/accelerometer.shtml#plus.accelerometer.AccelerometerErrorCallback) ) 可选 *获取设备加速度信息失败回调函数
### 返回值:
void : 无
### 平台支持:
- Android - 2.2+ (支持)
- iOS - 4.3+ (支持)
### 示例:
~~~
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
<title>Accelerometer Example</title>
<script type="text/javascript">
// 监听plusready事件
document.addEventListener( "plusready", function(){
// 扩展API加载完毕,现在可以正常调用扩展API
plus.accelerometer.getCurrentAcceleration( function( a ) {
alert( "Acceleration\nx:" + a.xAxis + "\ny:" + a.yAxis + "\nz:" + a.zAxis );
} );
}, false );
</script>
</head>
<body>
</body>
</html>
~~~
# [watchAcceleration]()
监听设备加速度变化信息
~~~
Number plus.accelerometer.watchAcceleration( successCB, errorCB, option );
~~~
### 说明:
加速度是设备在当前方向上所做相对运动变化(增、减量)的运动传感器。加速度信息包括x、y、z三个方向的信息。 watchAcceleration每隔固定时间就获取一次设备的加速度信息,通过successCB回调函数返回。可通过option的frequency参数设定获取设备加速度信息的时间间隔。 加速度信息获取失败则调用回调函数errorCB。
### 参数:
- successCB: *( [AccelerometerSuccessCallback](http://www.dcloud.io/docs/api/zh_cn/accelerometer.shtml#plus.accelerometer.AccelerometerSuccessCallback) ) 必选 *成功回调函数
当获取设备的加速度信息成功时回调,并返回加速度信息。
- errorCB: *( [AccelerometerErrorCallback](http://www.dcloud.io/docs/api/zh_cn/accelerometer.shtml#plus.accelerometer.AccelerometerErrorCallback) ) 可选 *失败回调函数
当获取设备加速度信息失败回调函数,并返回错误信息。
- options: *( [AccelerometerOption](http://www.dcloud.io/docs/api/zh_cn/accelerometer.shtml#plus.accelerometer.AccelerometerOption) ) 可选 *加速度信息参数
监听设备加速度信息的参数,如更新数据的频率等。
### 返回值:
Number : 用于标识加速度信息监听器,可通过clearWatch方法取消监听。
### 平台支持:
- Android - 2.2+ (支持)
- iOS - 4.3+ (支持)
### 示例:
~~~
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
<title>Accelerometer Example</title>
<script type="text/javascript">
// 监听plusready事件
document.addEventListener( "plusready", function(){
// 扩展API加载完毕,现在可以正常调用扩展API
var acc = document.getElementById("acc");
plus.accelerometer.watchAcceleration( function ( a ) {
acc.innerText = "x:" + a.xAxis + "\ny:" + a.yAxis + "\nz:" + a.zAxis;
}, function ( e ) {
alert( "Acceleration error: " + e.message );
} );
}, false );
</script>
</head>
<body>
Acceleration:<br/>
<p id="acc"></p>
</body>
</html>
~~~
# [clearWatch]()
关闭监听设备加速度信息
~~~
void plus.accelerometer.clearWatch( watchId );
~~~
### 说明:
关闭监听设备加速度信息,应用关闭调用watchAcceleration方法的开启的监听操作。
### 参数:
- watchId: *( Number ) 必选 *
需要取消的加速度监听器标识,调用watchAcceleration方法的返回值。
### 返回值:
void : 无
### 平台支持:
- Android - 2.2+ (支持)
- iOS - 4.3+ (支持)
### 示例:
~~~
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
<title>Accelerometer Example</title>
<script type="text/javascript">
var wid = null;
// 监听plusready事件
document.addEventListener( "plusready", function(){
// 扩展API加载完毕,现在可以正常调用扩展API
var acc = document.getElementById("acc");
wid = plus.accelerometer.watchAcceleration( function ( a ) {
acc.innerText = "x:" + a.xAxis + "\ny:" + a.yAxis + "\nz:" + a.zAxis;
}, function ( e ) {
alert( "Acceleration error: " + e.message );
} );
}, false );
function cancel() {
plus.accelerometer.clearWatch( wid );
wid = null;
}
</script>
</head>
<body>
Acceleration:<br/>
<p id="acc"></p><br/>
<button onclick="cancel()">Cancel</button>
</body>
</html>
~~~
# [Acceleration]()
设备加速度信息对象
~~~
interface Acceleration {
readonly attribute Number xAxis;
readonly attribute Number yAxis;
readonly attribute Number zAxis;
}
~~~
### 说明:
保存获取设备的加速度信息,包括x、y、z三个方向的加速度信息。
### 属性:
- xAxis: *(Number 类型 )*x轴方向的加速度
获取当前设备x轴方向的加速度,浮点型数据,与物理学中的加速度值一致。
- yAxis: *(Number 类型 )*y轴方向的加速度
获取当前设备y轴方向的加速度,浮点型数据,与物理学中的加速度值一致。
- zAxis: *(Number 类型 )*z轴方向的加速度
获取当前设备z轴方向的加速度,浮点型数据,与物理学中的加速度值一致。
# [AccelerometerOption]()
监听设备加速度感应器参数
~~~
interface Acceleration {
readonly attribute DOMString frequency;
}
~~~
### 说明:
JSON对象,用于设置获取设备加速度信息的参数。
### 属性:
- frequency: *(DOMString 类型 )*更新加速度信息间隔时间
监听器获取加速度信息的时间间隔,单位为ms,默认值为500ms
# [AccelerometerSuccessCallback]()
获取设备加速度信息成功的回调函数
~~~
void onSuccess( acceleration ) {
// Get acceleration code.
}
~~~
### 参数:
- acceleration: *( [Acceleration](http://www.dcloud.io/docs/api/zh_cn/accelerometer.shtml#plus.accelerometer.Acceleration) ) 必选 *设备的加速度信息
Acceleration类型对象,用于获取各方向的详细加速度值。
### 返回值:
void : 无
### 平台支持:
- Android - 2.2+ (支持)
- iOS - 4.3+ (支持)
# [AccelerometerErrorCallback]()
获取设备加速度信息失败的回调函数
~~~
void onError( error ) {
// Handle error
}
~~~
### 参数:
- error: *( DOMException ) 必选 *获取加速度操作的错误信息
### 返回值:
void : 无
### 平台支持:
- Android - 2.2+ (支持)
- iOS - 4.3+ (支持)
- API参考
- Accelerometer
- Audio
- Camera
- Contacts
- Device
- Downloader
- Events
- Gallery
- Geolocation
- IO
- Key
- Messaging
- NativeUI
- Navigator
- Orientation
- Proximity
- SplashScreen
- Storage
- UI
- Uploader
- InterfaceOrientation
- Runtime
- WebView
- XMLHttpRequest
- Zip
- Plugins
- Barcode
- Maps
- Payment
- Push
- Share
- Speech
- Statistic
- Native.js
- Android
- iOS