Cómo obtener orientación del dispositivo Android

Se podría pensar que habría una solución directa. El estado de documentos Android:

El sensor de orientación estaba obsoleto en Android 2.2 (API nivel 8). En lugar de utilizar datos brutos del sensor de orientación, le recomendamos que utilice el método getRotationMatrix () junto con el método getOrientation () para calcular los valores de orientación.

Sin embargo, no proporcionan una solución sobre cómo implementar getOrientation() y getRotationMatrix() . He pasado varias horas leyendo a través de los mensajes aquí en los desarrolladores que utilizan estos métodos, pero todos ellos han pegado parcialmente el código o alguna aplicación extraña. Google no ha proporcionado un tutorial. ¿Puede alguien por favor pegar una solución simple utilizando estos dos métodos para generar la orientación?

3 Solutions collect form web for “Cómo obtener orientación del dispositivo Android”

Aquí está la implementación de getOrientation ():

 public int getscrOrientation() { Display getOrient = getWindowManager().getDefaultDisplay(); int orientation = getOrient.getOrientation(); // Sometimes you may get undefined orientation Value is 0 // simple logic solves the problem compare the screen // X,Y Co-ordinates and determine the Orientation in such cases if(orientation==Configuration.ORIENTATION_UNDEFINED){ Configuration config = getResources().getConfiguration(); orientation = config.orientation; if(orientation==Configuration.ORIENTATION_UNDEFINED){ //if height and widht of screen are equal then // it is square orientation if(getOrient.getWidth()==getOrient.getHeight()){ orientation = Configuration.ORIENTATION_SQUARE; }else{ //if widht is less than height than it is portrait if(getOrient.getWidth() < getOrient.getHeight()){ orientation = Configuration.ORIENTATION_PORTRAIT; }else{ // if it is not any of the above it will defineitly be landscape orientation = Configuration.ORIENTATION_LANDSCAPE; } } } } return orientation; // return value 1 is portrait and 2 is Landscape Mode } 

Y u también puede referir este ejemplo que representan el uso de ambos métodos:

  getOrientation and getRotationMatrix 

http://www.codingforandroid.com/2011/01/using-orientation-sensors-simple.html

  public int getScreenOrientation() { // Query what the orientation currently really is. if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) { return 1; // Portrait Mode }else if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) { return 2; // Landscape mode } return 0; } 
 protected void onResume() { // change the screen orientation if(getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) { setContentView(R.layout.portrait); } else if(getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) { setContentView(R.layout.landscape); } else { setContentView(R.layout.oops); } } 
  • Ayuda natural de la orientación del sensor de Android
  • Cómo obtener el ancho de ventana correcto en el cambio de orientación para dispositivos Android, tabletas y móviles
  • La cámara android setDisplayOrientation (90) falla en diferentes dispositivos
  • Android - desactivar el modo de paisaje?
  • Cambiar la orientación de la pantalla - Android 3.2 en VirtualBox
  • Orientación androide - problemas con intentos (cámara)
  • Android - Cómo acercarse al algoritmo de detección de caídas
  • Mi aplicación Android gira aunque la rotación de la pantalla esté desactivada en el sistema operativo. ¿Cómo puedo arreglar esto?
  • GetRotation siempre devuelve cero
  • Chrome en Android no amplía el elemento de encabezado en el cambio de orientación
  • Android YouTube api v3 - orientación
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.