He leído la guía para desarrolladores de Android y algunos artículos en Internet, todavía estoy confundiendo sobre el singleTask
launchmode
. Veamos un ejemplo:Acerca de Android launchmode "singleTask"
El usuario inicia la aplicación 1, Android inicia una nueva tarea. Suponga que la aplicación crea actividades en el siguiente orden:
ActivityA -> ActivityB -> ActivityC
Así es como se ve la tarea1.
A continuación, el usuario haga clic en el boton casa y deciden poner en marcha App2, por lo Task1 va en segundo plano y Android iniciar una nueva tarea: Task2, el usuario hace algo:
ActivityD -> ActivityE
Ahora digamos que ActivityE
intento para iniciar ActivityB
, y ActivityB
tiene el modo de lanzamiento singleTask
.
Lo que entiendo es que task1 vuelve a frontend y task2 va a segundo plano. Y Task1 ve ahora así:
ActivityA -> ActivityB
Lo que significa:
El
ActivityC
será retirado de Task1 y ActivityB convierte a la actividad superior.Si el usuario Ahora haga clic en el botón "Volver", que llegará a
ActivityA
de Task1 en lugar de volver aActivityE
de Task2
Estoy en lo cierto?
Gracias
gracias, pero la respuesta en esta publicación me hace confundir: http://stackoverflow.com/questions/3219726/android-singletask- or-singleinstance-launch-mode nunca hay más de una instancia de una actividad "singleTask" o "singleInstance", por lo que se espera que esa instancia maneje todas las nuevas intenciones ... Sin embargo, una actividad "singleTask" puede o no tener otras actividades encima en la pila. Si lo hace, no está en posición de manejar la intención, y la intención se descarta. (Aunque se quitó la intención, su llegada habría provocado que la tarea pasara a primer plano, donde permanecería). – cn1h
"Lo que significa que al hacer clic en el botón de inicio todas las actividades sobre la actividad de tarea única (que en su caso es ActivityB) se eliminan de la pila ". Acabo de encontrar esto en un proyecto, este es el caso. Gracias. –
El enlace "Sendspace" está roto –