Sobes.tech
Junior — Middle

¿Puedes explicar qué es un componente BroadcastReceiver y cómo funciona en Android?

sobes.tech AI

Respuesta de la IA

BroadcastReceiver es un componente de Android que permite a una aplicación recibir y reaccionar a mensajes broadcast (difundidos) del sistema u otras aplicaciones.

Cómo funciona BroadcastReceiver:

  • Se registra para ciertos eventos (por ejemplo, conexión a la red, recepción de SMS, carga del dispositivo).
  • Cuando ocurre un evento, el sistema envía el broadcast correspondiente.
  • Los BroadcastReceivers registrados reciben este broadcast y ejecutan el código asignado.

Normalmente, BroadcastReceiver se usa para:

  • Responder a eventos del sistema sin iniciar la aplicación constantemente.
  • Iniciar tareas en segundo plano según un horario o cuando se cumplen ciertas condiciones.

Ejemplo de un BroadcastReceiver simple que responde a la encendida del dispositivo:

public class BootReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        if (Intent.ACTION_BOOT_COMPLETED.equals(intent.getAction())) {
            // Acciones después de que el dispositivo se inicie
        }
    }
}

Para registrarlo, se puede usar el manifiesto o hacerlo dinámicamente en el código. Es importante recordar que desde Android 8.0 (Oreo), hay restricciones en el trabajo en segundo plano para BroadcastReceiver, y para ciertos eventos, es necesario usar otros mecanismos, como JobScheduler.