Sobes.tech
Junior

¿Cómo conectar un BroadcastReceiver para recibir mensajes?

sobes.tech AI

Respuesta de la IA

Existen dos formas:

  1. Estáticamente en el manifiesto:

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

    — Se crea al iniciar la aplicación, incluso si no está activa. — Menos flexible, pero confiable para eventos del sistema.

  2. Dinámicamente en el código:

    // En una actividad o servicio
    IntentFilter filter = new IntentFilter("com.example.MY_ACTION");
    MyBroadcastReceiver receiver = new MyBroadcastReceiver();
    registerReceiver(receiver, filter);
    
    // No olvides cancelar el registro cuando sea necesario
    // unregisterReceiver(receiver);
    

    — Se crea y registra en tiempo de ejecución. — Más flexible, adecuado para eventos dentro de la aplicación. — Es necesario cancelar manualmente el registro para evitar fugas de memoria.