Sobes.tech
Junior

Jak podłączyć BroadcastReceiver do odbierania wiadomości?

sobes.tech AI

Odpowiedź od AI

Istnieją dwa sposoby:

  1. Statycznie w manifeście:

    <application ...>
        <receiver android:name=".MyBroadcastReceiver">
            <intent-filter>
                <action android:name="com.example.MY_ACTION" />
                </intent-filter>
        </receiver>
    </application>
    

    — Tworzone podczas uruchomienia aplikacji, nawet jeśli nie jest aktywna. — Mniej elastyczne, ale niezawodne dla zdarzeń systemowych.

  2. Dynamically w kodzie:

    // W aktywności lub serwisie
    IntentFilter filter = new IntentFilter("com.example.MY_ACTION");
    MyBroadcastReceiver receiver = new MyBroadcastReceiver();
    registerReceiver(receiver, filter);
    
    // Nie zapomnij wyrejestrować, gdy jest to konieczne
    // unregisterReceiver(receiver);
    

    — Tworzone i rejestrowane podczas działania. — Bardziej elastyczne, odpowiednie dla zdarzeń wewnątrz aplikacji. — Konieczne ręczne wyrejestrowanie, aby uniknąć wycieków pamięci.