Me gustaría conocer la orientación detallada de un dispositivo, preferiblemente uno de SCREEN_ORIENTATION_LANDSCAPE
, SCREEN_ORIENTATION_PORTRAIT
, SCREEN_ORIENTATION_REVERSE_LANDSCAPE
, SCREEN_ORIENTATION_REVERSE_PORTRAIT
de ActivityInfo
o equivalente.¿Cómo obtengo la orientación CURRENT (ActivityInfo.SCREEN_ORIENTATION_ *) de un dispositivo Android?
Algunas de las respuestas aquí en StackOverflow incluido
getWindowManager().getDefaultDisplay().getRotation()
pero esto realmente no me dicen si el dispositivo está en modo retrato o paisaje, sólo cómo se ha girado con referencia a su posición natural - que a su a su vez puede ser paisaje o retrato en primer lugar.
getResources().getConfiguration().orientation
devuelve uno de los tres siguientes: ORIENTATION_LANDSCAPE
, ORIENTATION_PORTRAIT
, ORIENTATION_SQUARE
, que luego realmente no me dicen qué manera se enciende el teléfono (ya sea al revés o cuál de los lados se ha girado a).
Sé que podría usar este último en combinación con DisplayMetrics
para conocer la orientación natural del dispositivo, pero ¿realmente no hay mejor manera?
¡Impresionante! ¡Muchas gracias! – Alexander
¡Funciona genial! –
Esto no funcionará si su actividad tiene una orientación de pantalla fija. getRotation solo informa un valor cuando la orientación de la pantalla no está bloqueada. – AndroidDev