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.

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.

  • Cajón de navegación - ¿qué hace syncState () y por qué debe llamarse dentro onPostCreate ()?
  • Actividad inicial de Android-Library-Project
  • ¿Cuándo se debe llamar a RemoveStickyEvent (...)?
  • Android muestra teclado suave cuando el fragmento onResume
  • Cuando se reemplaza un fragmento y se coloca en la pila de atrás (o se quita) ¿permanece en la memoria?
  • No se ha encontrado actividad para manejar Intent - android.intent.action.OPEN_DOCUMENT
  • Actionbar elemento de menú onclick?
  • ¿cuál es la diferencia entre la actividad y el hilo en la aplicación android?
  • Configuración de valores predeterminados de varias instancias / archivos de SharedPreferences
  • Notificar actividad del servicio
  • ¿Cómo utilizar actividades o fragmentos en un flujo de trabajo de varias pantallas?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.