Milliseid teenuse tüüpe tead ja kuidas nendega suhelda?
sobes.tech AI
Vastus AI-lt
Androidis on mitu tüüpi teenuseid:
-
Esiplaaniteenus (Foreground Service) — teenus, mida kasutaja näeb selgelt teavituse kaudu. Kasutatakse pideva töö jaoks, näiteks muusika või navigatsioon.
-
Taustateenus (Background Service) — töötab taustal ilma teavitusteta, kuid uusimates Android versioonides on sellel piirangud aku optimeerimise tõttu.
-
Seotud teenus (Bound Service) — teenus, millele teised komponendid (näiteks Activity) ühenduvad, et suhelda selle kaudu kasutajaliidese abil.
-
IntentService (vananenud, nüüd soovitatakse kasutada WorkManager) — teenus, mis täidab ülesandeid eraldi niidil, mis automaatselt peatub pärast täitmist.
Teenustega suhtlemine:
-
Teenuse käivitamine:
val intent = Intent(this, MyService::class.java) startService(intent) // taust- või esiplaaniteenuse jaoks -
Ühendamine teenusega:
bindService(intent, serviceConnection, Context.BIND_AUTO_CREATE) -
Teenuse peatamine:
stopService(intent)
Pikkade või edasi lükatud ülesannete jaoks on soovitatav kasutada WorkManagerit või JobSchedulerit, kuna need arvestavad süsteemi piirangutega ja optimeerivad taustatööd.