7

Ho l'orientamento dell'attività in manifest impostato come ritratto. Come non voglio che il mio schermo ruoti.Android: Ottieni l'orientamento corrente del dispositivo

Ma On Facendo clic su un pulsante, voglio ottenere l'orientamento corrente del dispositivo (verticale o orizzontale) in Android? Non ho bisogno di aggiornamenti continui dai sensori; è sufficiente l'orientamento del dispositivo corrente quando clicco sul pulsante.

PS: l'orientamento del dispositivo è il modo in cui sto tenendo il mio dispositivo. Non mescolare questo con l'orientamento dello schermo.

Questo è quello che ho fatto finora?

int PORT=1,LAND=2; 

WindowManager windowService = (WindowManager)getSystemService(Context.WINDOW_SERVICE); 

int rotation = windowService.getDefaultDisplay().getRotation();   

    if (Surface.ROTATION_0 == rotation) { 
     rotation = PORT; 
    } else if(Surface.ROTATION_180 == rotation) { 
     rotation = PORT; 
    } else if(Surface.ROTATION_90 == rotation) { 
     rotation = LAND; 
    } else if(Surface.ROTATION_270 == rotation) { 
     rotation = LAND; 
    } 
return rotation; 

Anche utilizzando il seguente metodo non aiuta

getResources().getConfiguration().orientation 

E 'sempre ritornare 1 dato che il mio difetto Attività è impostato un ritratto.

Esempio/codice di esempio sarà molto apprezzato.

Grazie.

+3

http://stackoverflow.com/questions/2795833/check-orientation-on-android-phone mi ci sono voluti 10 secondi. per google –

+1

Bart: Beh, ho passato lo stesso. ma non funziona quando l'orientamento dello schermo è fisso. Voglio che l'orientamento del dispositivo sul pulsante clic – Kushal

+0

Puoi eseguire il codice in ActionListener per il tuo pulsante –

risposta

4

Utilizzare questo :)

getResources().getConfiguration().orientation 
+1

Questo non funziona quando l'orientamento dello schermo è fisso. – Kushal

+0

se fallisce, aggiorna la domanda, con codice e stacktrace –

+0

In caso negativo, intendo, restituisce sempre il valore della modalità ritratto indipendentemente da come sto tenendo il mio dispositivo. – Kushal