Android: Limpiar la pila de actividades.

Un ejemplo de uso:

A – Menú principal con opciones (se pulsa botón y vamos a B)
B – Lista (se pulsa un elemento y vamos a C)
C – Detalle de elemento seleccionado de la lista (Se pulsa Editar y vamos a D)
D – Editando el elemento (Se pulsa Borrar y se lanza startActivity para volver a A)

Sin utilizar este flag, al pulsar atrás:

Iría de B a D, ejecutando las consultas de SQLite (o lo que fuera) sobre un elemento que ya no existe, provocando cierre.

Utilizando el flag, al pulsar atrás:

Iría de B a A, sin dar ningún problema y siguiendo la navegación lógica.

Intent intent = new Intent(context, classToBeStarted.class);
intent.setFlag(Intent.FLAG_ACTIVITY_CLEAR_TOP); // <- Aquí :)
startActivity(intent);
finish();

Más información sobre los Intents, y sobre FLAG_ACTIVITY_CLEAR_TOP.




Josep Viciana

Programador de 28 años con una década de experiencia como programador. interesado en el diseño, ilustración y nuevas tecnologías. Dedicado desde siempre a la programación Web y desde hace algunos años también a la móvil.

1 comentario

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *