Sobes.tech
Назад к вопросам
Junior — Middle
78

Каким образом реализовать компонент 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 текущим приложением, так как системные или другие приложения не смогут отправить такие локальные широковещательные сообщения.