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.