Sobes.tech
Junior — Middle

Pode explicar o que é um componente BroadcastReceiver e como ele funciona no Android?

sobes.tech IA

Resposta da IA

O BroadcastReceiver é um componente do Android que permite a uma aplicação receber e reagir a mensagens broadcast (difundidas) do sistema ou de outras aplicações.

Como funciona o BroadcastReceiver:

  • Regista-se para certos eventos (por exemplo, conexão à rede, receção de SMS, carregamento do dispositivo).
  • Quando ocorre um evento, o sistema envia o broadcast correspondente.
  • Os BroadcastReceivers registados recebem esse broadcast e executam o código atribuído.

Normalmente, o BroadcastReceiver é usado para:

  • Reagir a eventos do sistema sem iniciar a aplicação constantemente.
  • Iniciar tarefas em segundo plano de acordo com um horário ou quando certas condições são cumpridas.

Exemplo de um BroadcastReceiver simples que reage à ativação do dispositivo:

public class BootReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        if (Intent.ACTION_BOOT_COMPLETED.equals(intent.getAction())) {
            // Ações após o dispositivo ser ligado
        }
    }
}

Para registar, pode-se usar o manifesto ou fazê-lo dinamicamente no código. É importante lembrar que, a partir do Android 8.0 (Oreo), há restrições ao trabalho em segundo plano para o BroadcastReceiver, e para certos eventos, é necessário usar outros mecanismos, como o JobScheduler.