Sobes.tech
Junior

Come collegare un BroadcastReceiver per ricevere messaggi?

sobes.tech AI

Risposta dell'AI

Esistono due metodi:

  1. Staticamente nel manifesto:

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

    — Creato all'avvio dell'app, anche se non attivo. — Meno flessibile, ma affidabile per eventi di sistema.

  2. Dinamicament nel codice:

    // In un'attività o servizio
    IntentFilter filter = new IntentFilter("com.example.MY_ACTION");
    MyBroadcastReceiver receiver = new MyBroadcastReceiver();
    registerReceiver(receiver, filter);
    
    // Ricordati di annullare la registrazione se necessario
    // unregisterReceiver(receiver);
    

    — Creato e registrato durante l'esecuzione. — Più flessibile, adatto per eventi all'interno dell'app. — È necessario annullare manualmente la registrazione per evitare perdite di memoria.