Sobes.tech
Junior — Middle

Pode nomear os diferentes tipos de Broadcast Receiver utilizados no Android?

sobes.tech IA

Resposta da IA

Existem dois tipos principais de Broadcast Receiver no Android:

  1. Receptores de Broadcast Estáticos (Static) — declarados no manifesto da aplicação (AndroidManifest.xml). Podem receber mensagens broadcast mesmo quando a aplicação não está em execução. No entanto, a partir do Android 8.0 (API 26), o seu uso é limitado para certos eventos do sistema para economizar recursos.

  2. Receptores de Broadcast Dinâmicos (Dynamic) — registam-se programaticamente no código (geralmente em onCreate ou onResume da atividade) usando registerReceiver(). Estão ativos apenas enquanto a aplicação ou componente estiver em execução e registado.

Também é possível distinguir:

  • Receptores de Broadcast Ordenada (Ordered Broadcast Receivers) — recebem as mensagens em sequência, com a possibilidade de interromper a transmissão seguinte.
  • Receptores de Broadcast Local (Local Broadcast Receivers) — funcionam dentro de uma mesma aplicação, sem sair dela, o que aumenta a segurança e o desempenho (usa LocalBroadcastManager).

Exemplo de registo dinâmico:

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