Android平臺下傳感器應用的開發
傳感器應用的開發流程
1、創建 SensorManager對象
通過SensorManager可以訪問到手持設備的傳感器,同事Sensormanager對象還提供了一些方法用於對捕獲的數據進行計算等處理。在程序中,通過條用Context.getSystemService方法傳入參數SENSOR_SERVICE來獲得SensorManager對象。
2、實現SensorListener接口
(1)void OnAccuracyChanged(int sensor, int accuracy);該方法在傳感器的精確度發生變化時調用,SensorManager提供了3中精確度,由高到底分別爲
SENSOR_STATUS_ACCURACY_HIGH、
SENSOR_STATUS_ACCURACY_MEDIUM和
SENSOR_STATUS_ACCURACY_LOW。參數accuracy爲新的精確度。
(2)void onSensorChanged(int sensor, float[] value); 該方法在傳感器的數據發生變化時調用,開發傳感器應用的主要業務代碼應該放在這裏執行,如讀取數據並根據數據的變化進行相應的操作等。方法傳入的參數sensor爲代表傳感器類型的常量,values爲float類型數組,其長度和內容因傳感器類型的不同而變化。
3、註冊SensorListener 調用步驟1中獲得的SensorManager對象的registerListener方法來註冊監聽器,其接收的參數爲監聽器對象、傳感器類型以
及傳感器事件傳遞的頻度。
4、取消註冊SensorManager時調用SensorManager的unregisterListener方法,一般來講註冊和取消註冊方法應該成對出現,如果在Activity的onResume方法中註冊SensorListener監聽就應在onPause方法中取消註冊。