Cómo guardar actividades en Android
y luego devolver la clave cuando... Completa las actividades de la lista
Esta es una manera
El problema es el siguiente:
Salir de todo el programa en múltiples actividades, por ejemplo, desde A ->B ->C->D para salir, y necesito salir del programa directamente desde D.
Resuelva el problema:
Sabemos que la clase de ventana de Android proporciona una pila de historial. Podemos usar el principio de pila para implementarla inteligentemente. Aquí abrimos la ventana D de la ventana A. Agregar el indicador Intent.FLAG_ACTIVITY_CLEAR_TOP directamente al Intent y abrir A nuevamente borrará todas las actividades en este espacio de proceso. ...
Utilice el siguiente código en D: *
Intent tent = new Intent();
tent.setClass(D.this, A. class);
tent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
Intent.FLAG_ACTIVITY_ CLEAR_TOP
tent.setClass(D.this.A.class);
tent.setFlags(Intent.FLAG_ACTIVITY_ CLEAR_TOP);
startActivity( tent );
Finish();
En un complemento el siguiente código: *
@Override
protected void onNewIntent(Intent intent) {
System.out.println("A.CLEAR_TOP")out. println("una prueba es onNewIntent().............") )
// TODO genera automáticamente códigos auxiliares de método
super.onNewIntent( intent);
// salir
if ((Intent.FLAG_ACTIVITY_CLEAR_TOP &. intent.getFlags()) != 0) {
Finish();
}
}
El Manifest.xml de A está configurado como android:launchMode="singleTop" (el modo de inicio de A Por ejemplo, singleTop se usa junto con onNewIntent()).
Resumen del principio:
Generalmente, A es el punto de entrada del programa. Al iniciar una actividad de A desde D, agregue el logotipo Intent.FLAG_ACTIVITY_CLEAR_TOP. B y C. Se borra la pila. Dado que A es android:launchMode="singleTop"', no se llama a oncreate(), pero responde a onNewIntent(), momento en el que se determina Intent.FLAG_ACTIVITY_CLEAR_TOP y A se completa().
A, B, C y D de la pila se eliminan. De esta forma se cierra todo el programa.