Назад к вопросам
Junior — Middle
77
Каким образом реализовать компонент Broadcast Receiver, работающий только в рамках текущего приложения?
Компании, где спрашивали
Viasat tech
Ответ от нейросети
sobes.tech AI
Чтобы Broadcast Receiver работал только в рамках текущего приложения, его нужно регистрировать динамически через код, а не в манифесте. При динамической регистрации с помощью registerReceiver() приемник будет получать только те широковещательные сообщения, которые отправлены внутри приложения.
Пример:
BroadcastReceiver receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
// обработка события
}
};
// Регистрация в Activity или Service
IntentFilter filter = new IntentFilter("com.example.MY_ACTION");
registerReceiver(receiver, filter);
// Не забудьте отписаться
unregisterReceiver(receiver);
Таким образом, вы ограничиваете область действия Broadcast Receiver текущим приложением, так как системные или другие приложения не смогут отправить такие локальные широковещательные сообщения.