美文网首页
Android 获取所有传感器信息

Android 获取所有传感器信息

作者: 烟雨醉尘缘 | 来源:发表于2018-12-18 17:04 被阅读0次

资料参考1:android官方文档
资料参考2:挺不错的中文文档

  1. 首先需要创建一个传感器的管理器
private SensorManager sensorManager;
sensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
  1. 获取手机支持的传感器列表,之后根据这个列表来创建传感器对象
private List<Sensor> sensors = new ArrayList<>();
sensors = sensorManager.getSensorList(Sensor.TYPE_ALL);
  1. 遍历传感器列表,并且注册
for(Sensor sensor:sensors){
     sensorManager.registerListener(SensorListener, sensorManager.getDefaultSensor(sensor.getType()), SensorManager.SENSOR_DELAY_NORMAL);
}
  1. 具体监听器代码
final SensorEventListener SensorListener = new SensorEventListener() {
        public void onSensorChanged(SensorEvent sensorEvent) {
            //当sensor的值发生变化的时候会触发这个回调方法
            editor.putString(sensorEvent.sensor.getName(),
                    String.valueOf(sensorEvent.values[0]) + "\r"
                    //+ "y=" + String.valueOf(sensorEvent.values[1]) + "\r"
                    //+ "z=" + String.valueOf(sensorEvent.values[2]) + "\r"
            );
            editor.apply();
        }
        public void onAccuracyChanged(Sensor sensor, int accuracy) {
            //当精度变化的时候来处理
        }
    };

这个时候就已经可以获取所有的传感器信息了。

  1. 千万不要忘了最后注销!!
sensorManager.unregisterListener(SensorListener);

相关文章

网友评论

      本文标题:Android 获取所有传感器信息

      本文链接:https://www.haomeiwen.com/subject/hnulkqtx.html