Middle
¿Qué es una tarea y en qué casos se utiliza?
sobes.tech AI
Respuesta de la IA
La tarea (Task) es una unidad de trabajo en Android, que representa un conjunto de actividades (Activity) relacionadas entre sí. Las actividades en una misma tarea se colocan en una pila (back stack) en orden de apertura.
Se utiliza para:
- Gestionar el ciclo de vida de la Activity: La tarea determina la visibilidad y accesibilidad de la Activity.
- Navegación entre aplicaciones: Al iniciar una Activity desde otra aplicación, generalmente se coloca en su propia tarea.
- Definir el comportamiento del botón "Atrás": El botón "Atrás" cierra secuencialmente las Activities en la tarea actual.
- Aislar Activities: Las Activities de diferentes tareas, por defecto, no interactúan directamente.
Ejemplos de uso:
- Uso normal de la aplicación: Abrir diferentes pantallas (Activities) dentro de una misma tarea.
- Iniciar la galería desde un mensajero: La galería se abre en su propia tarea, y tras seleccionar una imagen, se vuelve a la tarea del mensajero.
- Manejo de notificaciones: Abrir una Activity desde una notificación puede crear una nueva tarea o usar una existente, dependiendo de las banderas de intención.
Comportamiento especial de la tarea:
- Cada tarea puede tener solo una Activity raíz.
- Se crea una nueva tarea cuando una Activity se inicia con la bandera
FLAG_ACTIVITY_NEW_TASK. - Una tarea existente puede ser llevada al frente si se llama a una Activity que ya forma parte de ella, con la bandera
FLAG_ACTIVITY_SINGLE_TOPoFLAG_ACTIVITY_CLEAR_TOP.
// Ejemplo de iniciar una Activity en una nueva tarea
val intent = Intent(this, NewTaskActivity::class.java)
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
startActivity(intent)