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.