獲取到的傳感器名稱:
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();
? ? }