Hardware Sensoren an Listener übergeben

  • 2 Antworten
  • Letztes Antwortdatum
D

derEisige

Neues Mitglied
0
Guten Abend,

ich habe da mal eine frage zu den Hardware Sensoren.
wie kann ich zwei Sensoren an den Listener übergeben?
also ich möchte das Accelerometer und den Light Sensor gleichzeitig auslesen

X:
Y:
Z:
Lux:

Code:
// Sensor
accelX = (TextView)findViewById(R.id.accelX);
accelY = (TextView)findViewById(R.id.accelY);
accelZ = (TextView)findViewById(R.id.accelZ);
lichtLux = (TextView)findViewById(R.id.lichtLux);

sensorManager = (SensorManager)getSystemService(SENSOR_SERVICE);
myAccelerometer = sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
myLight = sensorManager.getDefaultSensor(Sensor.TYPE_LIGHT);

sensorManager.registerListener(this, myAccelerometer, SensorManager.SENSOR_DELAY_NORMAL);
//sensorManager.registerListener(this, myLight, SensorManager.SENSOR_DELAY_NORMAL);
Code:
@Override
public void onSensorChanged(SensorEvent mEvent) {
    accelX.setText("X: " + mEvent.values[0]);
    accelY.setText("Y: " + mEvent.values[1]);
    accelZ.setText("Z: " + mEvent.values[2]);

    lichtLux.setText("Lux: " + mEvent.values[0]);
}
 
Zuletzt bearbeitet:
Es müsste doch gehen, dass man für mehrere Sensoren einen Listener registriert. Also beides

sensorManager.registerListener(this, myAccelerometer, SensorManager.SENSOR_DELAY_NORMAL);
sensorManager.registerListener(this, myLight, SensorManager.SENSOR_DELAY_NORMAL);

In der onSensorChanged() prüft man dann, für welchen Sensor Daten kommen:

if (event.sensor.getType() == Sensor.TYPE_ACCELEROMETER) {
accelX.setText("X: " + mEvent.values[0]);
accelY.setText("Y: " + mEvent.values[1]);
accelZ.setText("Z: " + mEvent.values[2]);
} else if (event.sensor.getType() == Sensor.TYPE_LIGHT) {
lichtLux.setText("Lux: " + mEvent.values[0]);
}
Die Sensor-Werte bekommst Du nicht in einem Aufruf von onSensorChanged(), sondern hintereinander. Aber sollte kein Problem sein, wenn für einen Bruchteil einer Sekunde beim Start der App, für einen Sensor noch kein Wert angezeigt wird. Das ist gar nicht wahrnehmbar.
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: jogimuc
Vielen Dank, dass hate ich gesucht.
 
Zurück
Oben Unten