No deseo que el usuario pueda volver a la pantalla secundaria de mi aplicación. Una solución parece ser comprobar si la actividad que está por debajo de la actual es una instancia de la pantalla de presentación, y en ese caso salir de la aplicación, como se muestra en el siguiente código. Sin embargo, no sé cómo verificar cuál es la actividad previa en la pila. ¿Alguien puede ayudar? ¿Hay alguna otra forma de desactivar 'volver atrás' a una actividad determinada?¿Cómo puedo desactivar 'volver atrás' a alguna actividad?
@Override
public void onBackPressed() {
if(<previous activity in stack is an instance of splashscreen>){
Intent exit_intent=new Intent(CurrentActivity.this, SplashScreen.class);
exit_intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
exit_intent.putExtra("EXIT", true);
context.startActivity(exit_intent);
}
}
gracias "android: noHistory =" mucha verdad "" - esto fue muy útil! – Simcha
¿Por qué finish() funciona? – Joop
final() (cuando se agrega en la actividad original justo después de comenzar la siguiente actividad) funciona porque Android no "retrocede" a una actividad que está terminada (destruida), solo a aquellas que están pausadas o detenidas (vivas). –