Tengo una actividad de pantalla de inicio, luego una actividad de inicio de sesión. Mi pila de la historia es así:¿Borrar todas las actividades en una tarea?
SplashActivity
LoginActivity
cuando el usuario inicia una sesión con éxito en medio de LoginActivity, quiero empezar WelcomeActivity, pero borrar toda la pila:
SplashActivity
LoginActivity // launches WelcomeActivity ->
WelcomeActivity
// but now all three are in the history stack, while I only
// want WelcomeActivity in the stack at this point.
¿Hay alguna bandera que puedo utilizar para hacer ¿ese?
// LoginActivity.java
Intent intent = new Intent(this, WelcomeActivity.class);
intent.addFlag(Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);
finish();
No está seguro de si se utiliza el FLAG_ACTIVITY_CLEAR_TASK despejará a cabo todas las actividades en mi tarea o no. Puedo hacer esto 'manualmente' desenrollando la pila usando las llamadas a startActivityForResult(), pero será más frágil y más código para mantener.
Gracias
"No estoy seguro si se utiliza el FLAG_ACTIVITY_CLEAR_TASK despejará a cabo todas las actividades en mi tarea o no." - usa el botón ATRÁS y comprueba por ti mismo. Si puede volver a las actividades anteriores con el botón ATRÁS, entonces todavía estaban en la pila de respaldo. –
La respuesta es usar 'FLAG_ACTIVITY_NEW_TASK | FLAG_ACTIVITY_CLEAR_TASK', ¿no es así? –
Hay un error tipográfico en el código ... debe ser '.addFlags (...)' not '.addFlag'. – Developer