7

У меня есть ориентация активности в манифесте, установленном как портрет. Поскольку я не хочу, чтобы мой экран вращался.Android: Получить текущую ориентацию устройства

Но нажав кнопку, я хочу получить текущую ориентацию устройства (портретную или альбомную) в Android? Мне не требуется непрерывное обновление от датчиков; просто текущая ориентация устройства, когда я нажимаю кнопку, достаточно.

PS: Ориентация устройства - это способ, которым я держу свое устройство. Не смешивайте его с ориентацией экрана.

Это то, что я сделал до сих пор?

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; 

Даже используя следующий метод не помогает

getResources().getConfiguration().orientation 

Это всегда возвращает 1, так как моя деятельность по умолчанию установлен портрет.

Образец/пример кода будет высоко оценен.

Спасибо.

+3

http://stackoverflow.com/questions/2795833/check-orientation-on-android-phone мне потребовалось 10 секунд. to google –

+1

Барт: Ну, я прошел через то же самое. но его отказ при фиксированной ориентации экрана. Я хочу, чтобы ориентация устройства была нажата на кнопку – Kushal

+0

. Вы можете запустить код в ActionListener для своей кнопки –

ответ

4

Используйте это :)

getResources().getConfiguration().orientation 
+1

Это не работает, когда ориентация экрана фиксирована. – Kushal

+0

Если это не удается, пожалуйста, обновите свой вопрос, с кодом и stacktrace –

+0

По ошибке я имею в виду, что он всегда возвращает значение режима портрета, независимо от того, как я держу свое устройство. – Kushal

 Смежные вопросы

  • Нет связанных вопросов^_^