# [proximity]()
Proximity模塊管理設備距離傳感器,可獲取當前設備的接近距離信息,通過plus.proximity可獲取設備距離傳感管理對象。
### 方法:
- [getCurrentProximity](http://www.dcloud.io/docs/api/zh_cn/proximity.shtml#plus.proximity.getCurrentProximity): 獲取當前設備的接近距離信息
- [watchProximity](http://www.dcloud.io/docs/api/zh_cn/proximity.shtml#plus.proximity.watchProximity): 監聽設備接近距離的變化
- [clearWatch](http://www.dcloud.io/docs/api/zh_cn/proximity.shtml#plus.proximity.clearWatch): 關閉監聽設備接近距離變化
### 回調方法:
- [ProximitySuccessCallback](http://www.dcloud.io/docs/api/zh_cn/proximity.shtml#plus.proximity.ProximitySuccessCallback): 獲取設備接近距離信息成功的回調函數
- [ProximityErrorCallback](http://www.dcloud.io/docs/api/zh_cn/proximity.shtml#plus.proximity.ProximityErrorCallback): 獲取設備接近距離信息失敗的回調函數
### 權限:
permissions
~~~
"Proximity": {
"description": "訪問距離感應器信息"
}
~~~
# [getCurrentProximity]()
獲取當前設備的接近距離信息
~~~
void plus.proximity.getCurrentProximity( successCB, errorCB );
~~~
### 說明:
獲取當前接近設備的距離信息,距離值單位為厘米。如果感應器無法獲取準確的距離值,則在接近設備時返回0,否則返回Infinity。 獲取成功則調用successCB回調函數返接近回距離值。獲取失敗則調用errorCB回調函數錯誤信息。
### 參數:
- successCB: *( [ProximitySuccessCallback](http://www.dcloud.io/docs/api/zh_cn/proximity.shtml#plus.proximity.ProximitySuccessCallback) ) 必選 *獲取距離信息成功回調函數
- errorCB: *( [ProximityErrorCallback](http://www.dcloud.io/docs/api/zh_cn/proximity.shtml#plus.proximity.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](http://www.dcloud.io/docs/api/zh_cn/proximity.shtml#plus.proximity.ProximitySuccessCallback) ) 必選 *設備接近距離變化時的回調函數
- errorCB: *( [ProximityErrorCallback](http://www.dcloud.io/docs/api/zh_cn/proximity.shtml#plus.proximity.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: *( DOMException ) 必選 *失敗信息
### 返回值:
void : 無
- 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