Eliminar la antigua instancia de actividad al iniciar una nueva actividad

Estoy buscando para eliminar o quitar una antigua instancia de actividad cuando se crea una nueva instancia (de la misma actividad), sin embargo, tengo que mantener todas las demás actividades en back-stack (por lo tanto FLAG_ACTIVITY_CLEAR_TOP no será suficiente).

Por ejemplo, decir que tengo actividades A, B y C. Comienzo: A -> B -> C -> B. En el inicio de la segunda actividad B necesito eliminar la actividad B existente. Por lo tanto ahora tengo: A -> C -> B corriendo …

Cualquier ayuda apreciada.

3 Solutions collect form web for “Eliminar la antigua instancia de actividad al iniciar una nueva actividad”

Parece que la eliminación de la actividad no es tan fácil como me habría imaginado por lo tanto, no una respuesta completa, pero voy a ir con el uso de FLAG_ACTIVITY_REORDER_TO_FRONT. Esto no eliminará la actividad existente, sino que la moverá a la parte superior de la pila.

 Intent intent = new Intent(ctx, Activity.class); intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); startActivity(intent); 

Esto permitirá la navegación de actividad descrita anteriormente.

Todavía estoy interesado si alguien sabe de un medio para limpiar la actividad real.

Soy capaz de hacer eso por sobreescribir enNewIntent

  @Override protected void onNewIntent(Intent intent) { Bundle extras = intent.getExtras(); Intent msgIntent = new Intent(this, MyActivity.class); msgIntent.putExtras(extras); startActivity(msgIntent); finish(); return; super.onNewIntent(intent); } 

Hacer actividad sola tarea

  <activity android:name=".MyActivity" android:launchMode="singleTask" > </activity> 

Puede utilizar los indicadores de Intent para eliminar la tarea anterior. Espero que esto ayude.

 Intent intent = new Intent(this, Activity.class); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK); startActivity(intent); 

Este indicador hará que cualquier tarea existente que se asociaría con la actividad se borre antes de que se inicie la actividad. Es decir, la actividad se convierte en la nueva raíz de una tarea de otra manera vacía, y todas las actividades viejas están terminadas.

  • No se puede abrir la extensión de archivo personalizada
  • Android vinculación de datos build.gradle sincronización prob?
  • ¿Por qué onDestroy siempre se llama cuando regresa a la actividad de los padres?
  • No se ha encontrado actividad para manejar Intent - android.intent.action.OPEN_DOCUMENT
  • Android cambia el diseño dinámicamente
  • Facebook Sdk no ha sido inilizado
  • ¿Cuál es la diferencia exacta entre onAttachedToWindow y onStart
  • ¿Cuál es la forma correcta de crear una pantalla de inicio de sesión / actividad en Android?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.