Sobes.tech
Middle

Co je to úkol a v jakých případech se používá?

sobes.tech AI

Odpověď od AI

Task je v Androidu jednotkou práce, která představuje skupinu souvisejících Activities. Activities v jednom Tasku jsou uspořádány ve stacku (back stack) v pořadí jejich otevření.

Používá se k:

  • Správě životního cyklu Activity: Task určuje viditelnost a dostupnost Activity.
  • Navigaci mezi aplikacemi: Při spuštění Activity z jiné aplikace je obvykle umístěna do jejího vlastního Tasku.
  • Určení chování tlačítka "Zpět": Tlačítko "Zpět" postupně zavírá Activities v aktuálním Tasku.
  • Izolaci Activity: Activities z různých Tasků obvykle přímo neinteragují.

Příklady použití:

  • Obvyklé používání aplikace: Otevírání různých obrazovek (Activities) v rámci jednoho Tasku.
  • Spuštění galerie z messengeru: Galerie se otevře ve svém Tasku a po výběru obrázku se vracíme do Tasku messengeru.
  • Zpracování oznámení: Otevření Activity z oznámení může vytvořit nový Task nebo použít existující, záleží na vlajkách záměru.

Zvláštní chování Tasku:

  • Každý Task může mít pouze jednu kořenovou Activity.
  • Nový Task je vytvořen, když je Activity spuštěna s vlajkou FLAG_ACTIVITY_NEW_TASK.
  • Existující Task může být přesunut do popředí, pokud je volána Activity, která je již jeho součástí, s vlajkami FLAG_ACTIVITY_SINGLE_TOP nebo FLAG_ACTIVITY_CLEAR_TOP.
// Příklad spuštění Activity v novém Tasku
val intent = Intent(this, NewTaskActivity::class.java)
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
startActivity(intent)