BroadcastReceiver — это класс в Android, который позволяет приложениям получать уведомления о системных событиях или событиях, создаваемых (другими )приложениями. Эти события называются широковещательными сообщениями.
Широковещательные сообщения могут быть отправлены любым приложением на устройстве, и все приложения, которые зарегистрировались для приема этих сообщений, получат уведомление. Это позволяет приложениям обмениваться информацией друг с другом и с системой Android. BroadcastReceiver является частью архитектуры событийно-ориентированного программирования в Android. Он позволяет приложению реагировать на различные события, такие как изменения состояния устройства, приход нового сообщения или завершение процесса.
Чтобы использовать BroadcastReceiver, необходимо создать класс, который расширяет этот класс. В этом классе необходимо определить метод onReceive(), который будет вызываться, когда приложение получит широковещательное сообщение. В этом методе можно выполнить любые действия, необходимые в ответ на сообщение.
Вот пример класса BroadcastReceiver:
public class MyReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { // Действия, выполняемые в ответ на широковещательное сообщение } }
Чтобы зарегистрировать BroadcastReceiver, необходимо вызвать метод registerReceiver(). Этот метод принимает два параметра: контекст приложения и экземпляр класса BroadcastReceiver.
Вот пример регистрации BroadcastReceiver:
MyReceiver receiver = new MyReceiver(); registerReceiver(receiver, new IntentFilter("my_broadcast_action"));
Чтобы отменить регистрацию BroadcastReceiver, необходимо вызвать метод unregisterReceiver().
Вот пример отмены регистрации BroadcastReceiver:
unregisterReceiver(receiver);
Вот некоторые примеры широковещательных сообщений, которые могут быть отправлены:
- Изменение уровня заряда батареи
- Подключение или отключение устройства к сети Wi-Fi
- Изменение громкости звука
- Запуск приложения
- Приход SMS
- События внутри самого приложения
- Коммуникация между его компонентами
Вот некоторые примеры того, как можно использовать BroadcastReceiver:
- Отслеживать изменения уровня заряда батареи и отображать уведомление, когда батарея разряжена.
- Отслеживать подключение или отключение устройства к сети Wi-Fi и изменять настройки приложения в зависимости от подключения.
- Отслеживать изменение громкости звука и обновлять индикатор громкости.
- Отслеживать запуск приложения и выполнять какие-либо действия при запуске.
Другие вопросы с собеседований.