proximity常见问题我要提意见
Proximity模块管理设备距离传感器,可获取当前设备的接近距离信息,通过plus.proximity可获取设备距离传感管理对象。
方法:
- getCurrentProximity: 获取当前设备的接近距离信息
- watchProximity: 监听设备接近距离的变化
- clearWatch: 关闭监听设备接近距离变化
回调方法:
- ProximitySuccessCallback: 获取设备接近距离信息成功的回调函数
- ProximityErrorCallback: 获取设备接近距离信息失败的回调函数
权限:
5+功能模块(permissions)
{
// ...
"permissions":{
// ...
"Proximity": {
"description": "距离感应器"
}
}
}
getCurrentProximity
获取当前设备的接近距离信息
void plus.proximity.getCurrentProximity( successCB, errorCB );
说明:
获取当前接近设备的距离信息,距离值单位为厘米。如果感应器无法获取准确的距离值,则在接近设备时返回0,否则返回Infinity。 获取成功则调用successCB回调函数返接近回距离值。获取失败则调用errorCB回调函数错误信息。
参数:
- successCB:
(
ProximitySuccessCallback
)
必选 获取距离信息成功回调函数
- errorCB:
(
ProximityErrorCallback
)
可选 获取距离信息失败回调函数
返回值:
void : 无平台支持:
- Android
- 2.2+
(支持)
:
支持
- iOS
- 4.3+
(支持)
:
支持
示例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Proximity Example</title>
<script type="text/javascript" >
// 扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener( "plusready", onPlusReady, false );
// 扩展API加载完毕,现在可以正常调用扩展API
function onPlusReady() {
}
function getProximity() {
plus.proximity.getCurrentProximity( function ( d ) {
alert( "Get distance success: "+d );
}, function ( e ) {
alert( "Error: "+e.message );
} );
}
</script>
</head>
<body >
<input type='button' onclick='getProximity();' value='Proximity'/>
</body>
</html>
watchProximity
监听设备接近距离的变化
Number plus.proximity.watchProximity( changeCB, errorCB );
说明:
watchProximity将监听设备的接近距离信息变化事件,当接近距离发生变化时通过changeCB回调函数返回距离值。监听距离变化事件失败则通过errorCB回调函数返回错误信息。
参数:
- changeCB:
(
ProximitySuccessCallback
)
必选 设备接近距离变化时的回调函数
- errorCB:
(
ProximityErrorCallback
)
可选
监听设备接近距离变化事件失败的回调函数
返回值:
Number : 用于标识接近距离变化事件监听器,可通过clearWatch方法取消监听。平台支持:
- Android
- 2.2+
(支持)
:
支持
- iOS
- 4.3+
(支持)
:
支持
示例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Proximity Example</title>
<script type="text/javascript" >
// 扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener( "plusready", onPlusReady, false );
// 扩展API加载完毕,现在可以正常调用扩展API
function onPlusReady() {
plus.proximity.watchProximity( function ( d ) {
document.getElementById("inf").innerText="Proximity: "+d;
}, function ( e ) {
alert( "Error: " + e.message );
} );
}
</script>
</head>
<body >
Proximity watch<br/>
<span id="inf"></span>
</body>
</html>
clearWatch
关闭监听设备接近距离变化
void plus.proximity.clearWatch( watchId );
参数:
- watchId:
(
Number
)
必选
需要取消的距离监听器标识,调用watchProximity方法的返回值。
返回值:
void : 无平台支持:
- Android
- 2.2+
(支持)
:
支持
- iOS
- 4.3+
(支持)
:
支持
ProximitySuccessCallback
获取设备接近距离信息成功的回调函数
void onSuccess( distance ) {
// Get distance success code.
}
参数:
- distance:
(
Number
)
必选 设备接近距离
设备接近距离传感器获取的距离值,单位为厘米。如果感应器无法获取准确的距离值,则在接近设备时返回0,否则返回Infinity。
返回值:
void : 无ProximityErrorCallback
获取设备接近距离信息失败的回调函数
void onError( error ) {
// Get distance error code.
}
参数:
- error:
(
Exception
)
必选 失败信息