android傳感器

獲取到的傳感器名稱:

Accelerometer 加速計

Magnetometer 磁力計

Gyroscope 陀螺儀

Proximity Sensor 近距離傳感器

Ambient Light Sensor 環境光傳感器

Barometer Sensor 氣壓計

Temperature Sensor 溫度傳感器

Gravity 重力

Linear Acceleration 線性加速度

Rotation Vector 旋轉矢量

Step Detector 步數探測器

Step Counter 計步器

Significant Motion Detector 運動檢測器

Game Rotation Vector 游戲旋轉矢量

Geomagnetic Rotation Vector 地磁旋轉矢量

Orientation 方向

Basic Gestures 基本手勢

Motion Accel 運動加速度


public void getSensors() {

? ? ? ? List<Sensor> sensorList;

?????//getSystemService獲取系統服務

? ? ? ? systemService = (SensorManager) getSystemService(Context.SENSOR_SERVICE);

//TYPE_ACCELEROMETER? 獲取那種傳感器在此修改類型

? ? ? ? sensorList = systemService.getSensorList(Sensor.TYPE_ACCELEROMETER);

? ? ? ? for (Sensor s : sensorList) {

//遍歷手機所有的傳感器

? ? ? ? ? ? Log.e(TAG, "getSensors: " + s.getName());

? ? ? ? }

//getDefaultSensor獲取默認傳感器? ? ? //TYPE_LIGHT_型燈? 光度傳感器的一種

? ? ? ? sensor = systemService.getDefaultSensor(Sensor.TYPE_LIGHT);

//SENSOR_DELAY_NORMAL? 傳感器延遲正常

? ? ? ? systemService.registerListener(sensorEventListener, sensor, SENSOR_DELAY_NORMAL);

//傳感器事件偵聽器

? ? ? ? sensorEventListener = new SensorEventListener() {

? ? ? ? ? ? @Override

? ? ? ? ? ? public void onSensorChanged(SensorEvent event) {

? ? ? ? ? ? ? ? float[] values = event.values;

? ? ? ? ? ? ? ? Log.e("aaa", "當前這個準確值: " + values[0]);

? ? ? ? ? ? }

? ? ? ? ? ? @Override

? ? ? ? ? ? public void onAccuracyChanged(Sensor sensor, int accuracy) {

? ? ? ? ? ? ? ? Log.e("ooo", "當前這個準確值: " + accuracy);

? ? ? ? ? ? }

? ? ? ? };

? ? }


@Override

? ? protected void onDestroy() {

//銷毀程序傳感器? 避免傳感器一致運行? 消耗手機大量的電量

? ? ? ? systemService.unregisterListener(sensorEventListener,sensor);

? ? ? ? Log.e(TAG, "onDestroy: 銷毀傳感器" );

? ? ? ? super.onDestroy();

? ? }

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。