Junior — Middle
Как да реализираме компонент Broadcast Receiver, който работи само в рамките на текущото приложение?
sobes.tech AI
Отговор от 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 до текущото приложение, тъй като системните или други приложения не могат да изпращат такива локални широковещателни съобщения.