Sobes.tech
Junior — Middle

¿Puede nombrar los diferentes tipos de Broadcast Receiver utilizados en Android?

sobes.tech AI

Respuesta de la IA

En Android, existen dos tipos principales de Broadcast Receiver:

  1. Receptores de Difusión Estáticos (Static) — se declaran en el manifiesto de la aplicación (AndroidManifest.xml). Pueden recibir mensajes broadcast incluso cuando la aplicación no está en ejecución. Sin embargo, desde Android 8.0 (API 26), su uso está restringido para ciertos eventos del sistema para ahorrar recursos.

  2. Receptores de Difusión Dinámicos (Dynamic) — se registran programáticamente en el código (generalmente en onCreate o onResume de la actividad) usando registerReceiver(). Están activos solo mientras la aplicación o componente esté en ejecución y registrado.

También se pueden distinguir:

  • Receptores de Difusión Ordenada (Ordered Broadcast Receivers) — reciben los mensajes en secuencia, con la posibilidad de detener la transmisión posterior.
  • Receptores de Difusión Local (Local Broadcast Receivers) — funcionan dentro de una misma aplicación, sin salir de ella, lo que aumenta la seguridad y el rendimiento (se usa LocalBroadcastManager).

Ejemplo de registro dinámico:

BroadcastReceiver receiver = new BroadcastReceiver() {
    @Override
    public void onReceive(Context context, Intent intent) {
        // procesamiento del evento
    }
};
registerReceiver(receiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));