accelerometer 加速度传感器
Accelerometer模块管理设备加速度传感器,用于获取设备加速度信息,包括x(屏幕水平方向)、y(垂直屏幕水平方向)、z(垂直屏幕平面方向)三个方向的加速度信息。通过plus.accelerometer获取设备加速度传感器管理对象。
方法:
- getCurrentAcceleration: 获取当前设备的加速度信息
- watchAcceleration: 监听设备加速度变化信息
- clearWatch: 关闭监听设备加速度信息
对象:
- Acceleration: 设备加速度信息对象
- AccelerometerOption: 监听设备加速度感应器参数
回调方法:
- AccelerometerSuccessCallback: 获取设备加速度信息成功的回调函数
- AccelerometerErrorCallback: 获取设备加速度信息失败的回调函数
权限:
5+功能模块(permissions)
{
// ...
"permissions":{
// ...
"Accelerometer": {
"description": "加速度传感器"
}
}
}
Acceleration
设备加速度信息对象
interface Acceleration {
readonly attribute Number xAxis;
readonly attribute Number yAxis;
readonly attribute Number zAxis;
}
说明:
JSON对象,保存获取设备的加速度信息,包括x、y、z三个方向的加速度信息。
属性:
-
xAxis: _(Number 类型 )_x轴方向的加速度
获取当前设备x轴方向的加速度,浮点型数据,与物理学中的加速度值一致。
-
yAxis: _(Number 类型 )_y轴方向的加速度
获取当前设备y轴方向的加速度,浮点型数据,与物理学中的加速度值一致。
-
zAxis: _(Number 类型 )_z轴方向的加速度
获取当前设备z轴方向的加速度,浮点型数据,与物理学中的加速度值一致。
AccelerometerOption
监听设备加速度感应器参数
扫描二维码关注公众号,回复:
3538003 查看本文章
interface Acceleration {
readonly attribute DOMString frequency;
}
说明:
JSON对象,用于设置获取设备加速度信息的参数。
属性:
-
frequency: _(Number 类型 )_更新加速度信息间隔时间
监听器获取加速度信息的时间间隔,单位为ms,默认值为500ms
AccelerometerSuccessCallback
获取设备加速度信息成功的回调函数
void onSuccess( acceleration ) {
// Get acceleration code.
}
参数:
- acceleration: ( Acceleration ) 必选 设备的加速度信息
Acceleration类型对象,用于获取各方向的详细加速度值。
返回值:
void : 无
AccelerometerErrorCallback
获取设备加速度信息失败的回调函数
function void onAccelerometerError( Exception error ) {
// Handle error
var code = error.code; // 错误编码
var message = error.message; // 错误描述信息
}
参数:
- error: ( Exception ) 必选 获取加速度操作的错误信息
可通过error.code(Number类型)获取错误编码; 可通过error.message(String类型)获取错误描述信息。
返回值:
void : 无
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<meta name="misapplication-tap-highlight" content="no" />
<meta name="HandheldFriendly" content="true" />
<meta name="MobileOptimized" content="320" />
<title>Hello H5+</title>
<script type="text/javascript">
function getAcc() {
outSet('获取设备当前加速度');
plus.accelerometer.getCurrentAcceleration(function (a) {
outLine('X轴:' + a.xAxis + '\nY轴:' + a.yAxis + '\nZ轴:' + a.zAxis);
}, function (e) {
outLine('获取失败:' + e.message);
});
}
var aid = null;
function watchAcc() {
if (aid) {
return;
}
outSet('监听设备加速度变化');
aid = plus.accelerometer.watchAcceleration(function (a) {
outSet('监听设备加速度变化\n' + 'X轴:' + a.xAxis + '\nY轴:' + a.yAxis + '\nZ轴:' + a.zAxis);
}, function (e) {
outLine('监听失败:' + e.message);
});
}
function watchStop() {
if (aid) {
outSet('停止监听设备加速度变化');
plus.accelerometer.clearWatch(aid);
aid = null;
} else {
outSet('没有监听设备加速度变化');
}
}
</script>
</head>
<body>
<div id="dcontent" class="dcontent">
<ul class="dlist">
<li class="ditem" onclick="getAcc()">获取设备当前加速度</li>
<li class="ditem" onclick="watchAcc()">监听设备加速度变化 </li>
<li class="ditem" onclick="watchStop()">停止监听设备加速度变化</li>
</ul>
</div>
<div id="output">
Accelerometer可获取设备加速度传感器信息,包括x轴(屏幕水平方向)、y轴(垂直屏幕水平方向)、z轴(垂直屏幕平面方向)三个方向的加速度信息。
</div>
</body>
</html>