Junior — Middle
Wie implementiert man eine Broadcast Receiver-Komponente, die nur innerhalb der aktuellen Anwendung arbeitet?
sobes.tech KI
Antwort von AI
Damit der Broadcast Receiver nur im Rahmen der aktuellen Anwendung funktioniert, muss er dynamisch über Code registriert werden und nicht im Manifest. Bei der dynamischen Registrierung mit registerReceiver() erhält der Empfänger nur die Broadcast-Nachrichten, die innerhalb der Anwendung gesendet werden.
Beispiel:
BroadcastReceiver receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
// Ereignisverarbeitung
}
};
// Registrierung in einer Activity oder einem Service
IntentFilter filter = new IntentFilter("com.example.MY_ACTION");
registerReceiver(receiver, filter);
// Nicht vergessen, den Empfänger abzumelden
unregisterReceiver(receiver);
Auf diese Weise beschränken Sie den Geltungsbereich des Broadcast Receivers auf die aktuelle Anwendung, da systemweite oder andere Anwendungen keine solchen lokalen Broadcast-Nachrichten senden können.