devo rilevare android modifica dell'orientamento dispositivo senza giocare manualmente con i dati del sensore, mantenendo bastone orientamento attività da qualche orientamentoRilevamento orientamento del dispositivo
onConfigurationChange
non funzionerà come attaccherà mia attività da non ruotare.
Giocare in giro con i dati del sensore per rilevare il cambiamento di orientamento. Ritengo che sia un'invenzione della ruota, poiché Android ha già implementato l'algoritmo per rilevare i cambiamenti di orientamento del dispositivo. E da un altro lato il rilevamento del cambiamento di orientamento non è un semplice controllo come questo.
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;
}
}
Richiede davvero un'elaborazione dei dati reale come la filtrazione dal rumore e scosse/rotazioni improvvise brevi.
Quindi qualche idea su come l'orientamento del dispositivo può essere rilevato utilizzando i servizi legacy? (Ancora una volta, attaccherò la mia attività ad un certo orientamento in modo che onConfigurationChange
non funzioni)
è questo ciò si voleva ??? http://stackoverflow.com/questions/2795833/check-orientation-on-android-phone –
no, non ho alcuna risorsa da modificare – deimus