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