Junior — Middle
Comment implémenter un composant Broadcast Receiver qui fonctionne uniquement dans le cadre de l'application en cours ?
sobes.tech IA
Réponse de l'IA
Pour que le Broadcast Receiver ne fonctionne que dans le cadre de l'application en cours, il doit être enregistré dynamiquement via le code, et non dans le manifeste. Avec l'enregistrement dynamique à l'aide de registerReceiver(), le récepteur ne recevra que les messages broadcast envoyés à l'intérieur de l'application.
Exemple:
BroadcastReceiver receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
// traitement de l'événement
}
};
// Enregistrement dans une Activity ou un Service
IntentFilter filter = new IntentFilter("com.example.MY_ACTION");
registerReceiver(receiver, filter);
// N'oubliez pas de désenregistrer
unregisterReceiver(receiver);
Ainsi, vous limitez la portée du Broadcast Receiver à l'application en cours, car d'autres applications ou systèmes ne pourront pas envoyer ces messages broadcast locaux.