Estoy intentando obtener datos de acelerómetro y de orientación. Actualmente, creé un Acelerómetro Manager y OrientationManager. Ambos hacen la misma cosa; implemente SensorEventListener y recupere datos de los valores [] en los detectores onSensorChanged().¿Hay alguna manera de recuperar datos de sensores múltiples en Android?
¿Hay alguna manera más fácil de hacerlo? Parece que tener 2 controladores con código duplicado no es necesario. ¿Hay alguna manera de acceder a una matriz de valores [] con el acelerómetro combinado y los datos de orientación juntos?
Debido a las 2 manipuladores, yo también voy a tener que hacer esto:
orientationManager = new OrientationManager(this);
orientationSensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
orientationSensorManager.registerListener(orientationManager,
orientationSensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION),
SensorManager.SENSOR_DELAY_GAME);
accelerometerManager = new AccelerometerManager(this);
accelerometerSensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
accelerometerSensorManager.registerListener(accelerometerManager,
orientationSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER),
SensorManager.SENSOR_DELAY_GAME);
Esto funcionó perfectamente, gracias. – trinth
Por cierto, no hay ninguna razón por la cual su actividad no pueda implementar SensorEventListener directamente, y luego pase "this" como primer argumento para registerListener(). –
¿SensorEventListener no es una interfaz? ¿Puedes hacer una instancia de una interfaz? Gracias – Chaine