Sobes.tech
Junior — Middle

Můžete vysvětlit, co je komponenta BroadcastReceiver a jak funguje v Androidu?

sobes.tech AI

Odpověď od AI

BroadcastReceiver je komponenta systému Android, která umožňuje aplikaci přijímat a reagovat na broadcastové zprávy (broadcasts) od systému nebo jiných aplikací.

Jak BroadcastReceiver funguje:

  • Registruje se pro určité události (například připojení k síti, přijetí SMS, spuštění zařízení).
  • Když dojde k události, systém odešle odpovídající broadcast.
  • Registrované BroadcastReceivery tento broadcast přijímají a vykonávají přiřazený kód.

Obvykle se BroadcastReceiver používá k:

  • Reakci na systémové události bez neustálého spouštění aplikace.
  • Spouštění úloh na pozadí podle plánu nebo při splnění určitých podmínek.

Příklad jednoduchého BroadcastReceiveru, který reaguje na zapnutí zařízení:

public class BootReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        if (Intent.ACTION_BOOT_COMPLETED.equals(intent.getAction())) {
            // Akce po spuštění zařízení
        }
    }
}

Registraci lze provést v manifestu nebo dynamicky v kódu. Je důležité pamatovat, že od Androidu 8.0 (Oreo) jsou omezení na práci na pozadí s BroadcastReceiverem, a pro některé události je třeba použít jiné mechanismy, například JobScheduler.