Detección de la orientación del dispositivo.

Necesito detectar el cambio de orientación del dispositivo Android sin jugar manualmente con los datos del sensor, mientras mantengo la orientación de la actividad manteniéndose orientado

onConfigurationChange No funcionará ya que se pegará mi actividad para no rotar.

Jugando con los datos del sensor para detectar el cambio de orientación, considero que, como invento de la rueda, Android ya tiene implementado el algoritmo para detectar el cambio de orientación del dispositivo. Y desde otro lado, la detección del cambio de orientación no es un simple control como este.

    public void onSensorChanged(SensorEvent event) {
        if (event.sensor.getType() != Sensor.TYPE_ACCELEROMETER || event.values.length < 3) {
            return;
        }
        //getResources().getConfiguration().orientation;
        if (event.values[1] < 6.5 && event.values[1] > -6.5) {
            if (orientation!=1) {
                Log.d("Sensor", "Protrait");
            }
            orientation=1;
        } else {
            if (orientation!=0) {
                Log.d("Sensor", "Landscape");
            }
            orientation=0;
        }
   }

Realmente requiere un procesamiento de datos real como la filtración del ruido y sacudidas / rotaciones cortas repentinas.

¿Alguna idea de cómo se puede detectar la orientación del dispositivo utilizando servicios heredados? (Una vez más, voy a pegar mi actividad a una cierta orientación paraonConfigurationChange no trabajará)

Respuestas a la pregunta(3)

Su respuesta a la pregunta