Red de conocimiento informático - Conocimiento informático - Cómo guardar actividades en Android

Cómo guardar actividades en Android

Puedes crear una lista para almacenar estas actividades no registradas

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.