2011-03-28 22 views
6

Leyendo el Android documentation y algunas de las respuestas aquí han dejado ambiguo qué tan claro se supone queTaskOnLaunch funciona. EspecíficamenteclearTaskOnLaunch HowTo?

1) ¿Cómo se identifica la actividad raíz? ¿Es simplemente el que tiene los filtros DEFAULT, LAUNCHER o MAIN intent?

2) Iniciar desde la "pantalla de inicio" en la documentación significa la pantalla de inicio del sistema operativo o la lista de aplicaciones, ¿correcto? Es decir. desde no dentro de una aplicación.

3) ¿clearTaskOnLaunch borrar la pila de la actividad siempre que se inicie la actividad que desde la pantalla principal, o simplemente cuando proceso de que la actividad se inicia desde la pantalla de inicio? Porque los documentos indican lo primero, pero las publicaciones aquí indican lo último. Supongo que esto depende de la definición de "lanzamiento".

EDIT: 4) ¿Borrar "la pila de actividades significa borrarlo literalmente, o hacer que las actividades cambien a través de Crear() y terminar()?

He manipulado clearTaskOnLaunch en todos los sentidos imaginables sin ningún efecto. Lo coloqué en mi actividad raíz en el manifiesto, luego lo coloqué en CADA actividad para asegurarme, reinicié mi aplicación después de matar el proceso por completo, etc. Mi pila de actividad simplemente no se borra.

¿Alguien puede ofrecer una descripción completa sobre cómo implementar clearTaskOnLaunch?

Respuesta

5

Aquí hay una respuesta completa a partir de un ingeniero de Android en Grupos: http://groups.google.com/group/android-developers/browse_thread/thread/da024bcaf4e1960f

Leer la documentación Android y algunas de las respuestas aquí (y en stackoverflow) han dejado ambigua cómo clearTaskOnLaunch es supone comportarse, específicamente:

1) ¿Borrar "la pila de actividades significa literalmente borrarlo, o teniendo las actividades ciclo en Crear() y terminar()?

Todas las actividades en la pila que se eliminen pasarán por el ciclo de vida como si llamaran finish(). La actividad raíz será en general, se mantendrá tal como está.

2) ¿Cómo se identifica la actividad raíz? ¿Es simplemente el que tiene DEFAULT, LAUNCHER o MAIN intention filter?

Esta es básicamente la primera actividad en la pila. La intención es Intención utilizada para iniciar la pila.

3) Puesta en marcha de la "pantalla de inicio" en la documentación significa que la lista OS casa pantalla o aplicaciones, correcto? Es decir. desde no dentro de una aplicación .

Realmente no importa - es sólo el que establece Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED.El iniciador estándar establece esto al iniciar una aplicación desde un ícono. Puede configurarlo usted mismo si desea.

4) ¿El clearTaskOnLaunch borrar la pila de la actividad siempre que se inicie la actividad que desde la pantalla principal, o simplemente cuando el proceso que de la actividad se inicia desde la pantalla de inicio? Porque los documentos indican lo primero, pero las publicaciones aquí indican lo último. Supongo que este depende de la definición de "lanzamiento".

Cada vez que se inicia desde la pantalla de inicio. El hecho de que los procesos se eliminen y reinicien debe ser invisible para el usuario.

He manipulado clearTaskOnLaunch en todos los sentidos imaginables con sin ningún efecto. Lo coloqué en mi actividad raíz en el manifiesto , luego lo puse en CADA actividad para asegurarme, reinicié mi aplicación después de matar el proceso por completo, etc. Mi actividad simplemente no se borra la pila.

Ajustes utiliza esto como un ejemplo - si vas a ajustes, cavar un poco , pulse Inicio, y luego abrir la configuración del nuevo, el resultado final será en la actividad casa en lugar de donde quiera que la última fui a. Simplemente establece la bandera en la actividad principal de su aplicación.