3 - Broadcast Receiver

A classe Broadcast Receiver implementa outra variante do mecanismo de alto nível de comunicação IPC (Inter Process Comunication) do Android, utilizando objetos do tipo Intent.

Se um aplicativo quiser receber e responder a evento global, como um telefone tocando ou uma mensagem de texto recebida, ele deve ser registrar como Broadcast Receiver. Esse registro pode ser feito de duas formas:

De forma ESTÁTICA De forma DINÂMICA
Na forma estática, o aplicativo pode implementar um elemento XML denominado de <receiver> no arquivo AndroidManifest.xml que descreve o nome da classe que representa um Broadcast Receiver bem como uma enumeração de seus Intent Filters. Lembre-se que o Intent Filter descreve o Intent que um aplicativo quer processar. Se o receptor estiver registrado no arquivo AndroidManifest.xml, o aplicativo não precisa estar em execução para ser ativado. Quando o evento ocorre, o aplicativo é iniciado automaticamente na notificação do evento de ativação pelo próprio sistema operacional Android que é responsável por gerenciar esse procedimento. Na segunda forma considerada dinâmica, o aplicativo pode, por meio do registro em tempo de execução, se credenciar através do método Register Receiver da classe Context.

Assim como os Services, os Broadcast Receivers não possuem um GUI (Grafical User Interface). Além disso, o código que será executado no método on Receive de um Broadcast Receiver não deve fazer suposições sobre a duração de operações longas. Caso seja necessário um tempo longo para execução da referida operação, é extremamente recomendado que o código do método on Receive inicie uma requisição para um Service completar a função requisitada, porque o componente de aplicativo Service é projetado para operações de longo prazo, enquanto que o Broadcast Receiver é projetado para operações de curtíssimo prazo.

Copyright © 2016 AIEC.