Sobes.tech
Junior — Middle

Aké typy služieb poznáš a ako s nimi komunikovať?

sobes.tech AI

Odpoveď od AI

V Androidu existuje niekoľko typov služieb:

  1. 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.

  2. 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.

  3. Bound Service (Viazaná služba) — služba, ku ktorej sa pripájajú iné komponenty (napríklad Activity) na interakciu cez rozhranie.

  4. 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í.