¿Cómo manipulo la pila de actividades de Android?

Aquí están mis dos escenarios.

1 – El usuario abre la aplicación por primera vez desde la pantalla de inicio de Android El usuario se presenta con la pantalla de "primera vez" (respaldado por la actividad de primera vez, permite llamar a A)

2 – El usuario abre la aplicación por segunda vez El usuario se presenta con la pantalla de la lista principal de la aplicación (respaldada por una actividad de lista, llamémosla B) El usuario vuelve a pulsar el botón El usuario vuelve a la pantalla principal de Android

Ya estoy al tanto de numerosas formas de detectar si es la primera vez que abre la aplicación o no.

El problema está en tener el botón de regreso volver a la pantalla de inicio en lugar de una actividad de enrutamiento que decide qué pantalla para reenviar a.

Actualmente mi aplicación tiene una actividad para decidir a dónde dirigir (lo llamamos R) el problema es, Mi pila se parece a R -> A o R -> B

Quiero A o B para reemplazar R en la pila cuando se abren, y si el usuario golpea hacia atrás, entonces van a la pantalla de inicio de Android, no de vuelta a R.

Tener un colaborador que establece la vista de A y B tampoco es realmente viable ya que B extiende androids la implementación concreta de una lista Activity para obtener la mayor parte de su funcionalidad.

¿Algunas ideas?

Quiero A o B para reemplazar R en la pila cuando se abren, y si el usuario golpea hacia atrás, entonces van a la pantalla de inicio de Android, no de vuelta a R.

Llame a finish() en R después de que startActivity() para activar la apertura de A o B.

  • Android: Error de OutOfMemory y el backstack
  • Iniciar nuevo subproceso en Async Task
  • Android: ¿FLAG_ACTIVITY_NEW_TASK tiene efecto dentro del mismo proceso?
  • ¿El nombre del proceso es el mismo que el nombre del paquete en android?
  • Cómo evitar que el servicio se reinicie después de que la actividad se haya barrido desde el conmutador de tareas?
  • Cómo borrar una tarea en Android y cambiar la actividad de la raíz?
  • Manejar la instancia existente de actividad raíz al iniciar de nuevo la actividad raíz desde el filtro de intenciones
  • Android: ¿Cómo hacer que el lanzador abra siempre la actividad principal en lugar de la actividad infantil? (o de otro modo)
  • ¿Cómo regresar a la última actividad lanzada al volver a iniciar la aplicación después de presionar HOME?
  • Continuar tarea después de terminar todas las tareas
  • Cómo terminar una actividad de otra actividad
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.