BroadcastReceiver – один из четырех основных компонентов. Реализует шаблон publisher-subscriber и используется для получения сообщений системы, других компонентов приложения и сторонних приложений.

События обрабатываются в методе BroadcastReceiver.onReceive(), который вызывает система.

BroadcastReceiver может быть точкой входа в приложение. Ресиверы, зарегистрированные в манифесте, принимают сообщения даже если приложение не запущено. В этом случае система стартует процесс с приложением и вызывает Application.onCreate() до вызова BroadcastReceiver.onReceive().

Пример использования: регистрация ресивера для прослушивания событий изменения языка в системе. Для этого используется ACTION_LOCALE_CHANGED. Полезно, если некоторые ресурсы (например сообщения об ошибках) локализуются на бэкенде. В этом случае можно отправить запрос с новой локалью на бэк.