2017年3月15日 星期三

Sensors

 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信息獲取

    

沒有留言:

張貼留言