studio - regresar a un activity anterior android
¿Cómo puedo desactivar ''volver atrás'' a alguna actividad? (4)
Call finish()
en la actividad de pantalla de bienvenida justo después de comenzar la siguiente actividad.
Otro enfoque es agregar este atributo a su actividad en AndroidManifest.xml
: android:noHistory="true"
Ejemplo:
<activity android:name=".SplashActivity" android:noHistory="true"/>
Este atributo instruye a Android para que elimine SplashActivity de la pila de historial una vez que navega fuera de ella.
No quiero que el usuario pueda volver a la pantalla de bienvenida 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?
@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);
}
}
Simplemente llame a context.finish()
después de context.startActivity()
intente lo siguiente cuando llame a la siguiente Activity
desde su pantalla de bienvenida:
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
<activity android:name=".SplashActivity" android:noHistory="true"/>
De la documentation :
Si la actividad debe o no eliminarse de la pila de actividades y finalizar (se llama su método finish) cuando el usuario navega fuera de ella y ya no está visible en la pantalla - "verdadero" si debería estar terminado, y "falso" si no. El valor predeterminado es "falso".
Un valor de "verdadero" significa que la actividad no dejará un rastro histórico. No permanecerá en la pila de actividades para la tarea, por lo que el usuario no podrá volver a ella. En este caso, onActivityResult () nunca se invoca si inicia otra actividad para obtener un resultado de esta actividad.
Este atributo fue introducido en API Nivel 3.