Detectando a orientação do dispositivo

Eu preciso para detectar a mudança de orientação do dispositivo android sem jogar manualmente com os dados do sensor, mantendo a orientação de atividade ficar com alguma orientação

onConfigurationChange não funcionará, pois vai manter minha atividade não girando.

Brincando com os dados do sensor para detectar a mudança de orientação, considero isso uma invenção da roda, já que o Android já implementou o algoritmo para detectar a mudança de orientação do dispositivo. E de outro lado a detecção da mudança de orientação não é uma simples verificação como essa.

    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 requer processamento de dados real como filtragem de ruído e agitações / rotações súbitas.

Então, alguma idéia de como a orientação do dispositivo pode ser detectada usando serviços legados? (Mais uma vez, vou colocar minha atividade em alguma orientação,onConfigurationChange não funciona)

questionAnswers(3)

yourAnswerToTheQuestion