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.

  • Android Facebook share: actividad no encontrada
  • onDestroy () se llama cuando estoy tratando de llamar a startActivityForResult ()
  • ¿La mejor manera de agregar actividad a un proyecto de Android en Eclipse?
  • Iniciar nueva actividad de PreferenceActivity
  • Android Show Soft Keyboard cuando se inicia la primera actividad?
  • Nueva actividad - Nuevo menú
  • Eliminación de una actividad de la pila de historial
  • Error al ejecutar la aplicación Android - No se pudo inicializar la emulación de OpenglES, usa '-gpu off' para desactivarla
  • Cómo crear un botón de imagen en Android?
  • Pasa la variable entre la clase de no actividad a la clase de actividad de Android
  • Comprensión onTrimMemory (nivel int)
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.