Junior — Middle
Можете ли да обясните какво е компонентът BroadcastReceiver и как работи в Android?
sobes.tech AI
Отговор от AI
BroadcastReceiver е компонент на Android, който позволява на приложението да получава и реагира на broadcast съобщения (broadcasts) от системата или други приложения.
Как работи BroadcastReceiver:
- Той се регистрира за определени събития (например, свързване към мрежа, получаване на SMS, стартиране на устройството).
- Когато се случи събитие, системата изпраща съответния broadcast.
- Регистрираните BroadcastReceiver получават този broadcast и изпълняват зададения код.
Обикновено BroadcastReceiver се използва за:
- Реагиране на системни събития без постоянно стартиране на приложението.
- Стартиране на фонови задачи по график или при изпълнение на определени условия.
Пример за прост BroadcastReceiver, който реагира при включване на устройството:
public class BootReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (Intent.ACTION_BOOT_COMPLETED.equals(intent.getAction())) {
// Действия след стартиране на устройството
}
}
}
За регистрация може да се използва манифестът или да се направи динамично в кода. Важно е да се помни, че от Android 8.0 (Oreo) има ограничения за фоновата работа на BroadcastReceiver, и за някои събития трябва да се използват други механизми, например JobScheduler.