En una determinada actividad de Android, me gustaría comenzar una nueva actividad para el usuario en algún momento. Una vez que abandonan la primera actividad y llegan a la segunda, la primera actividad está obsoleta y quiero eliminarla por completo para que no se pueda acceder nuevamente desde el botón Atrás.
¿Cómo es la mejor manera de lograr esto? ¿Cómo elimino o destruyo esta actividad inmediatamente después de que el usuario la haya lanzado?
Respuestas:
Solo necesitas llamar
finish()
fuente
onDestroy
es un método de ciclo de vida que solo debe llamarse desde el marco de Android.Establecer
android:noHistory="true"
la actividad en su manifiesto eliminará una actividad de la pila cada vez que se aleje de ella. mira aquífuente
puedes usar:
fuente
También puede agregar
android:noHistory="true"
a suActivity
etiqueta enAndroidManifest.xml
.fuente
Sí, todo lo que necesita hacer es finalizar la llamada () en cualquier actividad que desee cerrar.
fuente
Escriba esto en cada "nueva actividad" después de inicializar su nueva intención->
fuente
¡Finalmente, tengo una solución!
Mi contexto es : - Quiero desconectar la conexión del socket cuando se destruye la actividad, intenté finalizar () la actividad pero no funcionó , mantiene la conexión en vivo en algún lugar.
entonces uso
android.os.Process.killProcess(android.os.Process.myPid());
su kill my activity y lo uséandroid:excludeFromRecents="true"
para eliminar de la actividad reciente.fuente
android.os.Process.killProcess(android.os.Process.myPid())
mata el proceso de la aplicación y no solo la actividad. Esto significa que cualquier servicio en curso (en segundo plano o en primer plano) también se detendrá.Agregue este atributo a su actividad en el archivo de manifiesto. android: noHistory = "true"
fuente
Solo necesita usar el siguiente código cuando inicie la nueva actividad.
fuente