# [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+ (支持)