Android: ¿Cómo hacer que el lanzador abra siempre la actividad principal en lugar de la actividad infantil? (o de otro modo)

Tengo actividades A y B. El A es el que tiene LAUNCHER intento-filtro (es decir, la actividad que se inicia cuando hacemos clic en el icono de la aplicación en la pantalla de inicio).

A lanza B usando startActivity(new Intent(A.this, B.class)) .

Cuando el usuario tiene la actividad B abierta, y luego poner mi aplicación en segundo plano, y más tarde el proceso de mi aplicación se muere, cuando el usuario inicia mi aplicación de nuevo, B se abre en lugar de A.

Esto causó una fuerza de cierre en mi aplicación, porque A es la actividad que inicializa los recursos de mi aplicación necesita, y cuando B trató de acceder a los recursos no inicializados, B se bloquea.

¿Tiene alguna sugerencia qué debo hacer en esta situación?

Bueno, realmente debería tener la actividad B inicializar sus recursos también. Pero puedes poner android:clearTaskOnLaunch="true" en tu manifiesto para la actividad A para que el lanzador siempre vaya a esa actividad.

Has intentado establecer la bandera FLAG_ACTIVITY_NEW_TASK mientras creas la intención. En su caso, pruebe startActivity(new Intent(A.this, B.class).setFlags(Intent.FLAG_ACTIVITY_NEW_TASK))

  • ¿Diferencia entre OnlyOnRanToCompletion y NotOnFaulted?
  • Manejar la instancia existente de actividad raíz al iniciar de nuevo la actividad raíz desde el filtro de intenciones
  • Cómo borrar una tarea en Android y cambiar la actividad de la raíz?
  • ¿Cómo llevar una Actividad al primer plano (o crear si no existe)?
  • Borrar tarea e iniciar una nueva actividad
  • La aplicación comienza siempre nueva de la actividad de la raíz en lugar de reanudar el estado de fondo (Bug conocido)
  • Android empuja una nueva actividad mientras limpia a otros
  • ¿Cómo funcionan los asesinos de tareas?
  • App pierde su capacidad de recordar su pila cuando se inicia desde otra aplicación
  • Continuar tarea después de terminar todas las tareas
  • Necesita un ejemplo que muestre cómo realizar solicitudes HTTP asíncronas
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.