Sobes.tech
Middle

Kas yra Task ir kokiais atvejais jis naudojamas?

sobes.tech AI

Atsakymas iš AI

Užduotis Android sistemoje yra darbo vienetas, kuris atstovauja susijusių Activity rinkinį. Vieno užduoties (Task) viduje esantys Activity yra išdėstyti stack'e (back stack) jų atidarymo tvarka.

Naudojama:

  • Valdyti Activity gyvavimo ciklą: Užduotis nustato Activity matomumą ir prieinamumą.
  • Navigacijai tarp programėlių: Paleidus Activity iš kitos programėlės, ji dažniausiai įdedama į jos pačios užduotį.
  • Nustatyti "Atgal" mygtuko elgesį: "Atgal" mygtukas nuosekliai uždaro Activity esamoje užduotyje.
  • Activity izoliacijai: Activity iš skirtingų užduočių pagal numatytuosius nustatymus tiesiogiai nesusijungia.

Pavyzdžiai:

  • Įprastas programėlės naudojimas: Skirtingų ekranų (Activity) atidarymas vienoje užduotyje.
  • Galerijos paleidimas iš žinučių programos: Galerija atidaroma savo užduotyje, o po paveikslėlio pasirinkimo grįžtame į žinučių programos užduotį.
  • Pranešimų apdorojimas: Activity atidarymas iš pranešimo gali sukurti naują užduotį arba naudoti esamą, priklausomai nuo ketinimo žymenų.

Specialus užduoties elgesys:

  • Kiekviena užduotis gali turėti tik vieną šaknies Activity.
  • Nauja užduotis sukuriama, kai Activity paleidžiama su FLAG_ACTIVITY_NEW_TASK žyma.
  • Esama užduotis gali būti perkeliama į priekį, jei kviečiama Activity, jau esanti jos dalimi, su FLAG_ACTIVITY_SINGLE_TOP arba FLAG_ACTIVITY_CLEAR_TOP žymėmis.
// Pavyzdys, kaip paleisti Activity naujoje užduotyje
val intent = Intent(this, NewTaskActivity::class.java)
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
startActivity(intent)