编程语言
首页 > 编程语言> > java-android应用程序上的多个传感器

java-android应用程序上的多个传感器

作者:互联网

我目前正在开发使用多个传感器的android应用程序,
mSensor = mySensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);在OnCreate方法中获取传感器,并在onSensorChanged方法中获取tv.setText(“ X:” sensorEvent.values [0] …);在文本视图中显示加速度计值.

如何添加更多传感器并以相同方式显示其值?
当我说sensorEvent.values [0]时,程序如何知道我指的是哪个传感器?

谢谢您的提前帮助,
玛雅

解决方法:

您将需要使用event.sensor.getType()方法检查传感器值是否属于该类型的传感器.因此,如果要同时访问磁力计和加速度计:

sensorManager = (SensorManager)   
getActivity().getSystemService(Context.SENSOR_SERVICE);
sensorAccelerometer = sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
sensorMagnetic = sensorManager.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD);
sensorEventListener = new SensorEventListener() {
    @Override
    public void onSensorChanged(SensorEvent event) {
        if (event.sensor.getType() == Sensor.TYPE_MAGNETIC_FIELD) {
            magnetic = event.values;
            tv.setText("X: "+ magnetic.values[0] + ...);
        }
        if (event.sensor.getType() == Sensor.TYPE_ACCELEROMETER)
            gravity = event.values;
            tv2.setText(X: " + gravity.values[0] + ...);
        }
    }
}

标签:android-sensors,android,java,android-studio,sensor-fusion
来源: https://codeday.me/bug/20191009/1879831.html