Sobes.tech
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.