Finalizar toda la instancia de actividad particular

Puede haber muchas actividades en la aplicación y la última actividad puesta en marcha en la parte superior de la pila y al presionar de nuevo a terminar la actividad actual. Tengo una secuencia de actividad y aquí está el flujo ..

Si tenemos A, B, C (1) , D, C (2) … La actividad C (1) y C (2) son dos instancias diferentes de la Actividad C lanzada mientras navega por la aplicación. Borrar toda la instancia de actividad C y el resultado debe ser cuando termine C (2) Debería haber dejado con estas pilas A, B, D. Que debería hacer .

IMP -Quiero mantener el C (1) vivo en la pila hasta que no termine el C (2) como pude haber iniciado C con Nueva Bandera de Tareas en lugar de crear estas instancias, pero estas instancias tienen diferentes UI y trabajo.

Los siguientes enfoques no son favorables.

primero

@Override public void onBackPressed(){ super.onBackPressed(); Intent intent = new Intent(C(2).this , D.class); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)); startActivity(intent); } 

Esto borrará toda la actividad de la pila y relanzará la actividad

Segundo

Mantenga la pista de Actividad en la clase singleton y luego relanzando el flujo requerido, sin embargo, esto consumirá el tiempo cuando hay muchas Actividades que se iniciarán.

Así que pensé que debería haber alguna solución utilizando el gestor de paquetes u otro que resolverá el problema, la solución se aprecian

No sé una manera de cerrar la actividad C1 manualmente al terminar la actividad C2.

Sin embargo usted puede tomar el cuidado de la actividad C1 en él está en reanudar esta manera –

1 – Establezca un indicador en su clase de aplicación:

 public static boolean IsClosingActivities = false; 

Este valor se puede establecer "true" por C2 justo antes de que finalice la actividad C2.

Y establezca "false" en el punto en el que llamará startActivity para una nueva actividad C. (Suponiendo que se pueden crear nuevas instancias de actividad C posteriormente en la aplicación).

2 – En la implementación de C en el curriculum vitae:

  @Override protected void onResume() { super.onResume(); if (YourApplication.IsClosingActivities) { this.finish(); } } 

De esta manera – cuando el usuario navega de regreso de D – C1 se terminará y se le llevará a B.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.