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)