7

Mam orientację aktywności w manifeście ustawioną jako portret. Ponieważ nie chcę, aby mój ekran się obracał.Android: uzyskaj aktualną orientację urządzenia

Ale Po kliknięciu przycisku chcę uzyskać bieżącą orientację urządzenia (portret lub krajobraz) w systemie Android? Nie potrzebuję ciągłej aktualizacji z czujników; wystarczy bieżąca orientacja urządzenia po kliknięciu przycisku.

PS: Orientacja urządzenia jest sposobem w jaki trzymam moje urządzenie. Nie mieszaj tego z orientacją ekranu.

Oto co zrobiłem do tej pory?

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; 

Nawet stosując następujący sposób robi pomóc

getResources().getConfiguration().orientation 

on zawsze zwraca 1 ponieważ moja działalność jest domyślne ustawienie portret.

Przykładowy kod przykładowy będzie bardzo ceniony.

Dzięki.

+3

http://stackoverflow.com/questions/2795833/check-orientation-on-android-phone zajęło mi 10 sek. google –

+1

Bart: Cóż, przeszedłem to samo. ale jego zawieszenie, gdy orientacja ekranu jest stała. Chcę, aby orientacja urządzenia na przycisku kliknęła – Kushal

+0

Możesz uruchomić kod w ActionListener dla swojego przycisku –

Odpowiedz

4

Użyj tego :)

getResources().getConfiguration().orientation 
+1

Nie działa, gdy orientacja ekranu jest stała. – Kushal

+0

jeśli to się nie powiedzie, proszę zaktualizować swoje pytanie, z kodem i stosem stacków –

+0

Przez niepowodzenie oznacza to, że zawsze zwraca wartość trybu portretowego niezależnie od tego, jak trzymam moje urządzenie. – Kushal

Powiązane problemy