Evitar que se reinicie la Activity al girar el móvil

miércoles, 27 de julio de 2011 Etiquetas: , , ,


Introducción

Hay un funcionamiento en Android que no acabo de entender, y que por defecto funciona de esa forma, es que se reinicia la aplicación cuando giras el terminal. Este comportamiento no le acabo de ver la utilidad, ¿alguien me puede decir alguna ventaja?

Al reiniciarse la Activity todas las acciones que había hecho el usuario hasta el momento se pierden, o si por ejemplo esta reproduciendo música, lanzaría otra reproducción.

Por suerte la solución es sencilla y vamos a ver que hay que hacer.


Solución

No se si a ti te será útil esta forma de funcionar, pero a mi no. Por suerte se puede desactivar de una forma sencilla. En nuestra Activity debemos poner el siguiente código:

import android.content.res.Configuration;
import android.view.View;

/**Activity de Prueba */
public class Prueba extends Activity{
    @Override
    public void onConfigurationChanged(Configuration nuevaconfig) {
     super.onConfigurationChanged(nuevaconfig);
    }
}


El siguiente paso es modificar el manifest y añadir lo siguiente:

<activity android:configChanges="keyboard|keyboardHidden|orientation" 
android:label="@string/app_name" 
android:name="Prueba">        
</activity>
Lo que hay que añadir es la parte correspondiente android:configChanges. Con estas sencillas modificaciones nuestro programa ya funcionara como me esperaba.

0 comentarios:

Publicar un comentario