Android onConfigurationChanged () no se llama en Actividad

Me doy cuenta de que hay un par de otros puestos sobre este tema, sin embargo las soluciones para esos puestos no funcionan para mí.

Básicamente, quiero dejar de Activar de reiniciar en un cambio de orientación del dispositivo. Para ello, he modificado la actividad en el archivo de manifiesto:

<activity android:name=".MyActivity" android:configChanges="orientation|keyboardHidden"></activity> 

Y he sobrepasado onConfigurationChanged() en mi Actividad:

 @Override public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); System.out.println("IN onConfigurationChanged()"); } 

Sin embargo, la actividad sigue reiniciándose tras un cambio de orientación y el método onConfigurationChanged() no se está llamando.

¿Alguien sabe por qué esto puede estar sucediendo?

Debe utilizar 13 API y establecer esta configuración en la parte de su actividad del manifiesto: android: configChanges = "orientation | keyboardHidden | screenSize"

Funciona bien. En toda la versión de Android.

Lo único que funcionó fue usar getLastNonConfigurationInstance (). http://developer.android.com/reference/android/app/Activity.html#getLastNonConfigurationInstance ()

No debe utilizar setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); Método de llamar a cualquier lugar en su aplicación esto evitará llamar a método onConfigChanged ().

Cambie su manifiesto a siguiente

 <activity android:name=".MyActivity" android:configChanges="orientation|keyboardHidden|screenSize"></activity> 

Y remítase a este enlace para obtener una explicación detallada.

Si define la orientación configchanges = en su manifiesto, la actividad no se reiniciará, pero en lugar de ello, onConfigurationChanged se llamará como lo ha implementado actualmente. Primero trate de registrar que con la log de la clase de registro (esta es la forma correcta de registrar las cosas en android no utilizar el sistema fuera de esto es considerado una mala práctica) y antes de super pero eso es sólo un 1% Te está pasando

El segundo caso es que tiene la actividad actual anidada en un tabHost por ejemplo o Grupo de actividad. Si su actividad tiene una actividad de padre, el cambio de configuración debe agregarse en ese y la devolución de llamada ocurrirá allí.

Si ese es el caso y desea enviar el resultado o también hacer algo en el niño, entonces usted necesita para obtener una referencia al niño en el padre y llamar a un método en él para los cambios.

Si tienes un fragmento, entonces necesitas esto también:

 void setRetainInstance(boolean retain) 

Controlar si una instancia de fragmento se conserva a lo largo de la recreación de actividad (por ejemplo, a partir de un cambio de configuración).

Me encontré con esto y ponerlo a 'true' lo arregló.

Utilicé esto, y ayudó:

 package="com.s2dio.evallet" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="8" /> 

Modifique su método onConfigurationChanged a lo siguiente

 public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); // Checks the orientation of the screen if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) { Toast.makeText(this, "landscape", Toast.LENGTH_SHORT).show(); } else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT) { Toast.makeText(this, "portrait", Toast.LENGTH_SHORT).show(); } } 
  • Android: notifyDataSetChanged () no actualizar listview después de cambiar la orientación
  • ¿Cómo detectar el paisaje izquierdo (normal) contra el derecho del paisaje (reverso) con la ayuda para los dispositivos naturales del paisaje?
  • Uso del sensor de orientación para apuntar hacia una ubicación específica
  • Sensores para teléfonos móviles
  • El diálogo no debe descartarse cuando cambia la orientación de la pantalla
  • Problema de orientación de la cámara en Android
  • Android Quiero obtener ángulo de rotación para el dispositivo
  • Android: orientación / rotación de la pantalla para la vista previa de la cámara
  • OnConfigurationChanged no se llama en cualquier momento en android
  • ¿Cómo puedo proporcionar soporte de orientación para tablet solo en android?
  • Orientación de Android AR
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.