Ottenere l'orientamento del dispositivo Android

Pensi che ci sarebbe una soluzione diretta. Lo stato dei documenti Android:

Il sensore di orientamento è stato deprecato in Android 2.2 (livello API 8). Invece di utilizzare dati grezzi dal sensore di orientamento, si consiglia di utilizzare il metodo getRotationMatrix () in combinazione con il metodo getOrientation () per calcolare i valori di orientamento.

  • "L'applicazione non verrà eseguita se non aggiornate i servizi di Google Play" con API Google Maps
  • Come monitorare il tempo in Libgdx (android)
  • android google maps button su popup
  • Android onConfigurationChanged non viene chiamato
  • Quando si utilizza ActionMode, la barra di stato diventa nera su Lollipop
  • Android LongClickListener su elementi di gruppo ExpandableListView
  • Tuttavia, essi non forniscono una soluzione su come implementare getOrientation() e getRotationMatrix() . Ho passato parecchie ore a leggere i post qui sugli sviluppatori che utilizzano questi methods, ma hanno tutti codici parzialmente incollati o qualche implementazione strano. Googling non ha fornito un tutorial. Può qualcuno incollare una soluzione semplice utilizzando questi due methods per generare l'orientamento?

  • android trascinare e rilasciare ImageView onTouchListener
  • Come get un unico ID hardware di dispositivo in Android?
  • Android LogCat che visualizza i messaggi più volte anziché una volta
  • Come memorizzare un gran numero di file audio in Android?
  • Google gioco distribuisce l'applicazione solo per utenti specifici (test)
  • Come mettere a fuoco l'image del raccolto in React Native
  • 3 Solutions collect form web for “Ottenere l'orientamento del dispositivo Android”

    ecco l'implementazione di 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 } 

    E u può anche fare riferimento a questo esempio che rappresenta l'utilizzo di entrambi i methods:

      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); } } 
    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.