Manejo de cambios de orientación condicionalmente

He añadido android:configChanges="orientation" y anular onConfigurationChanged() . Lo que me gustaría hacer es permitir el cambio de orientación horizontal sólo si el dispositivo tiene un tamaño de la tableta de resolución de resolución de pantalla (lado más corto mayor de 480px – sugerencias para una mejor manera de manejar esto son bienvenidos!). Estaba pensando que esto funcionaría de dos maneras, pero tampoco está trabajando en mis pruebas en mi teléfono o en el emulador.

Mi primera idea fue no llamar a la implementación de la clase super 'de onConfigurationChanged() , pero me sale una excepción lanzada que se queja de que no llamar a la clase super.

Mi segunda idea era configurar manualmente newConfig.orientation a Configuration.ORIENTATION_PORTRAIT antes de pasarlo a la superclase. Entre mi actividad y la clase de actividad real en el marco Tengo una clase de ActivityBase que utilizo donde estoy reemplazando esto también. Puedo brindar el valor de newConfig.orientation en ActivityBase para ver que el objeto de configuración que realmente se pasa alrededor tiene el nuevo valor, pero se ignora y el cambio de orientación ya ha ocurrido.

¿Dónde puedo poner código que me permite condicionalmente cortocircuitar el cambio de orientación en algunos casos y permitir que en otros?

Definiría la orientación solicitada para fijar en el método Activity onCreate (), algo como esto:

 setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 

Si la pantalla no es una pantalla xhdmi o tiene la resolución requerida.

  • Problema de compilación de Gradle: actualización de Quickblox y httpclient en el último SDK23 de Android
  • Portable JDBC vs SQLite en Android
  • Mensaje "_Problem Loading Widget"
  • Forma de círculo antialise Google Maps V2 Android
  • Implementación de Getextra () y Putextra
  • No concatene el texto que se muestra con setText. Utilizar cadena de recursos con marcadores de posición
  • ¿Qué hace gl.glClearColor?
  • Proxy Método final en clase no final
  • ¿Cuándo necesitamos usar runOnUiThread en la aplicación android?
  • ¿Por qué convertir System.nanoTime () en un objeto Calendar me da la fecha actual incorrecta?
  • BitmapFactory.decodeResource devuelve un mapa de bits mutable en Android 2.2 y un mapa de bits inmutable en Android 1.6
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.