Cierre la aplicación e inicie la pantalla de inicio en Android

Resuelto Arutha asked hace 54 años • 21 respuestas

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?

Arutha avatar Jan 01 '70 08:01 Arutha
Aceptado

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.

David Webb avatar Jan 11 '2010 14:01 David Webb

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).

  1. Inicie una actividad usando esta intención:

    Intent intent = new Intent(this, FinActivity.class);
    intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    startActivity(intent);
    finish();
    
  2. En la actividad de destino FinActivity.class, llame a Finish() en onCreate.

Pasos explicados:

  1. Crea una intención que borra todas las demás actividades (FLAG_ACTIVITY_CLEAR_TOP)y elimina la actividad actual.

  2. La actividad se destruye a sí misma. Una alternativa es que puedes crear una pantalla de presentación en finActivity. Esto es opcional.

jordi avatar Jan 19 '2011 16:01 jordi

Realmente deberías pensar en no salir de la aplicación. No es así como suelen funcionar las aplicaciones de Android.

Romain Guy avatar Jan 11 '2010 16:01 Romain Guy