Junior — Middle
Kunt u uitleggen wat een BroadcastReceiver-component is en hoe deze werkt in Android?
sobes.tech AI
Antwoord van AI
BroadcastReceiver is een Android-component waarmee een applicatie broadcast-berichten (uitzendingen) van het systeem of andere applicaties kan ontvangen en erop kan reageren.
Hoe werkt BroadcastReceiver:
- Het registreert zich voor bepaalde gebeurtenissen (bijvoorbeeld netwerkverbinding, ontvangen van SMS, apparaat opstarten).
- Wanneer een gebeurtenis plaatsvindt, stuurt het systeem de bijbehorende broadcast.
- Geregistreerde BroadcastReceivers ontvangen deze broadcast en voeren de toegewezen code uit.
BroadcastReceiver wordt meestal gebruikt voor:
- Reageren op systeemgebeurtenissen zonder de app continu te starten.
- Achtergrondtaken starten volgens een schema of wanneer bepaalde voorwaarden zijn vervuld.
Voorbeeld van een eenvoudige BroadcastReceiver die reageert op het inschakelen van het apparaat:
public class BootReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (Intent.ACTION_BOOT_COMPLETED.equals(intent.getAction())) {
// Acties na het opstarten van het apparaat
}
}
}
Registratie kan via het manifest of dynamisch in de code. Het is belangrijk om te onthouden dat vanaf Android 8.0 (Oreo) er beperkingen zijn op achtergrondwerk voor BroadcastReceiver, en voor sommige gebeurtenissen moeten andere mechanismen worden gebruikt, zoals JobScheduler.