Несколько датчиков в приложении для Android
В настоящее время я разрабатываю приложение для Android, которое использует несколько датчиков, я использовал mSensor= mySensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
в OnCreate
Способ получения датчика и tv.setText("X: "+ sensorEvent.values[0] + ...);
в onSensorChanged
метод, чтобы отобразить значения акселерометра в текстовом представлении.
Как я могу добавить больше датчиков и отображать их значения таким же образом? Как программа узнает, на какой датчик я ссылаюсь, когда говорю sensorEvent.values[0]
?
Спасибо за любую помощь заранее, Майя
1 ответ
Решение
Вам нужно будет проверить, относятся ли значения датчика к датчику этого типа, с помощью метода 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] + ...);
}
}
}