Sensors
Sensors:感應器。
android 提供3種感應器
1.運動感應器(Motion Sensors)
2.環境感應器(Environmental sensors)
3.位置感應器(Position sensors)
android提供SensorManager 和 Sensor 類別,讓我們把感應器使用到應用上面。
例如:
SensorManager sMgr;
sMgr =(SensorManager)this.getSystemService(SENSOR_SERVICE);
接下來的事,呼叫getDefaultSensor()方法,來獲取監聽感應器。
例如:
Sensor light;
light= sMgr.getDefaultSensor(Sensor.TYPE_LIGHT);
//Sensor.TYPE_LIGHT:光線感應器。
宣告完getDefaultSensor()方法,還需要註冊監聽器和覆寫onAccuracyChanged and onSensorChanged。
例如:
sMgr.registerListener(this, light,
SensorManager.SENSOR_DELAY_NORMAL);
public void onAccuracyChanged(Sensor sensor, int accuracy) {
}
public void onSensorChanged(SensorEvent event) {
}
Getting list of sensors supported
你可以使用getSensorList方法,取得Sensor設備列表方法。
例如:
sMgr = (SensorManager)this.getSystemService(SENSOR_SERVICE);
List<Sensor> list = sMgr.getSensorList(Sensor.TYPE_ALL);
for(Sensor sensor: list){
}
SensorManager 其他類別
getDefaultSensor(int type):取得指定類型默認感應器。
getInclination(float[] I):取得地磁傾斜角度的弧度。
registerListener(SensorListener listener, int sensors, int rate):註冊一個監聽器感應器。
unregisterListener(SensorEventListener listener, Sensor sensor):註消一個監聽器感應器。
getOrientation(float[] R, float[] values):取得設備旋轉的方向。
getAltitude(float p0, float p):取得海拔高度。
參考文獻
Android - Sensors
Android傳感器教程
Android--Sensor传感器
獲取系統傳感器的信息, getSensorList()
在 Android 使用亮度感應器(Light Sensor)(Sensor.TYPE_ALL)
深入淺出 - Android系統移植與平台開發(十四) - Sensor HAL框架分析之四(getSensorList)
Android學習12-----手機服務(4) 傳感器(getDefaultSensor)
android 傳感器坐標
Android特色開發之傳感器(getInclination、getOrientation、getDefaultSensor)
Android指南針app的實現原理總結(getOrientation 詳細解釋)
android GPS信息獲取
[Android] 11種感應器介紹
Android SDK 超級初學者筆記 (2) - Menu & Activity 資訊傳遞
Android Tutorial 第二堂(3)應用程式與使用者的互動
Android Accelerometer Example
Android Sensor - Tutorial
沒有留言:
張貼留言