Android: O que é Sticky Broadcast?

Os aplicativos Android são executados em dispositivos de usuários com o sistema operacional Android instalado, incluindo dispositivos móveis como smartphones, tablets e laptops. Muitas empresas estão visando o sistema Android com aplicativos para varejo e outros serviços comerciais. Dependendo da finalidade de um aplicativo, receber Broadcasts do sistema pode ser uma tarefa essencial para o programador. As transmissões fixas são uma categoria específica de transmissões do sistema Android e podem ser utilizadas em qualquer aplicativo. As transmissões costumam ser particularmente relevantes para aplicativos que envolvem serviços Android.

Transmissões

O sistema Android usa Broadcasts para transmitir informações aos aplicativos. Algumas transmissões são enviadas por aplicativos Android, mas muitas das transmissões mais comumente usadas são enviadas pelo próprio sistema. Broadcasts comuns indicam informações gerais sobre o sistema que são potencialmente relevantes para muitos dos aplicativos que podem estar em execução nele. Por exemplo, uma transmissão pode indicar que o nível da bateria está baixo ou que a tela do usuário atingiu o tempo limite e desligou. Ao receber essas transmissões, os aplicativos podem responder a elas e, se necessário, realizar tarefas para manter a operação normal.

Sticky Broadcasts

Uma Transmissão Fixa é uma Transmissão que permanece após o momento em que é anunciada ao sistema. A maioria das transmissões é enviada, processada no sistema e se torna rapidamente inacessível. No entanto, Sticky Broadcasts anunciam informações que permanecem acessíveis além do ponto em que são processadas. Um exemplo típico é o Broadcast no nível da bateria. Ao contrário da maioria das transmissões, o nível da bateria pode ser recuperado nos aplicativos além do ponto em que foi enviado pelo sistema. Isso significa que os aplicativos podem descobrir qual foi a última transmissão de nível de bateria.

receptores

Os aplicativos Android usam receptores de transmissão para detectar e processar as informações nas transmissões do sistema. Os desenvolvedores que trabalham em aplicativos Android criam classes Java que estendem a classe Broadcast Receiver pai usando a herança Java. Isso permite que os programadores implementem métodos nos quais possam acessar informações de Broadcast, adaptando o comportamento de um aplicativo ao estado do sistema ou ao estado de outros processos dentro do próprio aplicativo.

Uso

Muitos aplicativos Android recebem Sticky e outros Broadcasts, que costumam ser usados ​​em conjunto com os Serviços Android. Um serviço é um processo que ocorre em segundo plano, às vezes realizando estágios de processamento específicos em intervalos de tempo. Quando um serviço é iniciado, pode ser necessário verificar o estado do sistema usando um Sticky Broadcast. Por exemplo, um aplicativo que exibe o nível da bateria do dispositivo em intervalos especificados pode verificar o nível da bateria da última transmissão usando o Sticky Broadcast, atualizando sua exibição para o usuário.

Requisitos

Os aplicativos Android que usam Sticky Broadcasts devem cumprir certos requisitos. Ao estender a classe Broadcast Receiver, os aplicativos podem receber Broadcasts enviados pelo sistema e, opcionalmente, enviar as Broadcasts de outras classes. Chamar o método "sendStickyBroadcast" em um aplicativo causará uma mensagem Sticky Broadcast que permanecerá dentro do sistema para ser recebida por outras classes. Os aplicativos que usam o método devem incluir certas permissões em seus arquivos de manifesto, incluindo a permissão "BROADCAST_STICKY"; caso contrário, uma exceção é lançada quando o aplicativo é executado.