accelerometer
Accelerometer模块管理设备加速度传感器,用于获取设备加速度信息,包括x(屏幕水平方向)、y(垂直屏幕水平方向)、z(垂直屏幕平面方向)三个方向的加速度信息。通过plus.accelerometer获取设备加速度传感器管理对象。
方法:
- getCurrentAcceleration: 获取当前设备的加速度信息
- watchAcceleration: 监听设备加速度变化信息
- clearWatch: 关闭监听设备加速度信息
对象:
- Acceleration: 设备加速度信息对象
- AccelerometerOption: 监听设备加速度感应器参数
回调方法:
- AccelerometerSuccessCallback: 获取设备加速度信息成功的回调函数
- AccelerometerErrorCallback: 获取设备加速度信息失败的回调函数
权限:
permissions
"Accelerometer": { "description": "访问加速度感应器设备" }
getCurrentAcceleration
获取当前设备的加速度信息
void plus.appcelerometer.getCurrentAcceleration( successCB, errorCB );
说明:
加速度是设备在当前方向上所做相对运动变化(增、减量)的运动传感器。加速度信息包括x、y、z三个方向的信息。 加速度信息可通过successCB回调函数返回。加速度信息获取失败则调用回调函数errorCB。
参数:
- successCB:
(
AccelerometerSuccessCallback
)
必选 获取设备加速度信息成功回调函数
- errorCB:
(
AccelerometerErrorCallback
)
可选 获取设备加速度信息失败回调函数
返回值:
void : 无平台支持:
- Android2.2+ (支持)
- iOS4.3+ (支持)
- WP7.5+ (支持)
示例:
<!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.appcelerometer.watchAcceleration( successCB, errorCB, option );
说明:
加速度是设备在当前方向上所做相对运动变化(增、减量)的运动传感器。加速度信息包括x、y、z三个方向的信息。 watchAcceleration每隔固定时间就获取一次设备的加速度信息,通过successCB回调函数返回。可通过option的frequency参数设定获取设备加速度信息的时间间隔。 加速度信息获取失败则调用回调函数errorCB。
参数:
- successCB:
(
AccelerometerSuccessCallback
)
必选 成功回调函数
当获取设备的加速度信息成功时回调,并返回加速度信息。 - errorCB:
(
AccelerometerErrorCallback
)
可选 失败回调函数
当获取设备加速度信息失败回调函数,并返回错误信息。 - options:
(
AccelerometerOption
)
可选 加速度信息参数
监听设备加速度信息的参数,如更新数据的频率等。
返回值:
Number : 用于标识加速度信息监听器,可通过clearWatch方法取消监听。平台支持:
- Android2.2+ (支持)
- iOS4.3+ (支持)
- WP7.5+ (支持)
示例:
<!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.appcelerometer.clearWatch( watchId );
说明:
关闭监听设备加速度信息,应用关闭调用watchAcceleration方法的开启的监听操作。
参数:
- watchId:
(
Number
)
必选
需要取消的加速度监听器标识,调用watchAcceleration方法的返回值。
返回值:
void : 无平台支持:
- Android2.2+ (支持)
- iOS4.3+ (支持)
- WP7.5+ (支持)
示例:
<!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
)
必选 设备的加速度信息
Acceleration类型对象,用于获取各方向的详细加速度值。
返回值:
void : 无平台支持:
- Android2.2+ (支持)
- iOS4.3+ (支持)
- WP7.5+ (支持)
AccelerometerErrorCallback
获取设备加速度信息失败的回调函数
void onError( error ) { // Handle error }
参数:
- error:
(
DOMException
)
必选 获取加速度操作的错误信息
返回值:
void : 无平台支持:
- Android2.2+ (支持)
- iOS4.3+ (支持)
- WP7.5+ (支持)