Aké typy služieb poznáš a ako s nimi komunikovať?
sobes.tech AI
Odpoveď od AI
V Androidu existuje niekoľko typov služieb:
-
Foreground Service (Služba v popredí) — služba, ktorú používateľ jasne vidí prostredníctvom oznámenia. Používa sa na úlohy, ktoré vyžadujú neustály chod, napríklad hudba alebo navigácia.
-
Background Service (Služba na pozadí) — beží na pozadí bez oznámenia, ale s obmedzeniami v nových verziách Androidu kvôli optimalizácii batérie.
-
Bound Service (Viazaná služba) — služba, ku ktorej sa pripájajú iné komponenty (napríklad Activity) na interakciu cez rozhranie.
-
IntentService (zastaralá, teraz sa odporúča používať WorkManager) — služba na vykonávanie úloh v samostatnom vlákne, ktorá sa po dokončení automaticky zastaví.
Interakcia so službami:
-
Spustenie služby:
val intent = Intent(this, MyService::class.java) startService(intent) // pre služby na pozadí alebo v popredí -
Pripojenie ku službe:
bindService(intent, serviceConnection, Context.BIND_AUTO_CREATE) -
Zastavenie služby:
stopService(intent)
Pre dlhé alebo odložené úlohy sa odporúča používať WorkManager alebo JobScheduler, pretože zohľadňujú systémové obmedzenia a optimalizujú prácu na pozadí.