Junior — Middle
Como implementar um componente Broadcast Receiver que funcione apenas dentro da aplicação atual?
sobes.tech IA
Resposta da IA
Para que o Broadcast Receiver funcione apenas no âmbito da aplicação atual, deve ser registado dinamicamente através do código, e não no manifesto. Com o registo dinâmico usando registerReceiver(), o receptor receberá apenas as mensagens broadcast enviadas dentro da aplicação.
Exemplo:
BroadcastReceiver receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
// processamento do evento
}
};
// Registo em uma Activity ou Service
IntentFilter filter = new IntentFilter("com.example.MY_ACTION");
registerReceiver(receiver, filter);
// Não se esqueça de cancelar o registo
unregisterReceiver(receiver);
Desta forma, você limita o escopo do Broadcast Receiver à aplicação atual, pois outros sistemas ou aplicações não poderão enviar essas mensagens broadcast locais.