Cierre la aplicación e inicie la pantalla de inicio en Android
Tengo dos actividades diferentes. El primero lanza el segundo. En la segunda actividad, llamo System.exit(0)
para forzar el cierre de la aplicación, pero la primera actividad se muestra automáticamente en lugar de que la aplicación regrese a la pantalla de inicio. ¿Cómo puedo evitar esto y hacer que la aplicación vuelva a la pantalla de inicio?
Respuesta corta: llama moveTaskToBack(true)
a tuActivity
en lugar de System.exit()
. Esto ocultará su aplicación hasta que el usuario quiera usarla nuevamente.
La respuesta más larga comienza con otra pregunta: ¿por qué quieres cerrar tu aplicación?
El sistema operativo Android maneja la gestión de la memoria y los procesos, etc., por lo que mi consejo es que deje que Android se preocupe por usted. Si el usuario quiere salir de su aplicación, puede presionar el botón Inicio y su aplicación desaparecerá efectivamente. Si el teléfono necesita más memoria más adelante, el sistema operativo finalizará su aplicación.
Siempre que responda adecuadamente a los eventos del ciclo de vida , ni usted ni el usuario deben preocuparse si su aplicación aún se está ejecutando o no.
Entonces, si desea ocultar la llamada de su aplicación moveTaskToBack()
y dejar que Android decida cuándo eliminarla.
La forma más sencilla de lograr esto se detalla a continuación (sin afectar la administración de memoria nativa de Android. No implica la eliminación de procesos).
Inicie una actividad usando esta intención:
Intent intent = new Intent(this, FinActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(intent); finish();
En la actividad de destino
FinActivity.class
, llame a Finish() enonCreate
.
Pasos explicados:
Crea una intención que borra todas las demás actividades
(FLAG_ACTIVITY_CLEAR_TOP)
y elimina la actividad actual.La actividad se destruye a sí misma. Una alternativa es que puedes crear una pantalla de presentación en finActivity. Esto es opcional.
Realmente deberías pensar en no salir de la aplicación. No es así como suelen funcionar las aplicaciones de Android.