>> Tecnologia Eletrônica >  >> Celulares e Acessórios >> Celulares

Android: O que é Broadcast Fixador (Sticky Broadcast)?

Um broadcast fixador (sticky broadcast) é uma ferramenta que desenvolvedores Android usam para comunicação entre apps. Essas transmissões acontecem sem que o usuário seja notificado. O Android OS normalmente trata cada aplicação como se fosse um usuário separado. Apps rodam independentemente e isolados, em máquinas virtuais separadas, usando apenas os componentes de hardware necessários para funcionar. Isso leva a uma segurança rígida, mas às vezes apps precisam compartilhar informações; broadcasts fixadores são uma solução para obter informações de um app para outro.

Broadcasts

Broadcasts são anúncios enviados para apps Android. Eles acontecem sem que o usuário esteja ciente. O sistema operacional Android inicia a maioria dos broadcasts, mas apps individuais também podem transmitir. Como exemplo, quando a bateria fica baixa ou a tela desliga, um anúncio vai para todos os aplicativos. Se um app recebe dados disponíveis para outros aplicativos, ele os informará. Para o anúncio chegar aos apps, ele deve primeiro ir a um receptor de broadcast, um componente no app que lida com mensagens de broadcast.

Intents do Android

Devido à separação que o Android impõe entre seus vários apps, todos os broadcasts passam pelo sistema operacional. Um app não pode contatar diretamente o receptor de broadcast de outro app. Quando um app quer enviar um broadcast, ele notifica o sistema operacional com um Intent. Um Intent é uma mensagem para ativar um app ou um de seus componentes, como o receptor. O Intent simplesmente define a mensagem que está prestes a ser transmitida — que a bateria está baixa, por exemplo, ou para solicitar acesso a uma fotografia no seu telefone.

Broadcasts Fixadores (Sticky Broadcasts)

Um broadcast normal alcança o receptor a que se destina e então termina. Um broadcast fixador permanece por perto para que possa notificar outros apps se eles precisarem da mesma informação — por exemplo, que a bateria agora está totalmente carregada. Quando você registra um novo app que precisa saber a informação, ou quando um app inativo é iniciado, o broadcast fixador será enviado para o receptor do novo app. Um novo broadcast fixador com informações atualizadas sobre o mesmo tópico reescreverá um broadcast fixador anterior.

Considerações

Um app só pode enviar ou remover um broadcast fixador se sua programação incluir uma permissão autorizando fixadores. A segurança em broadcasts fixadores não é tão rígida quanto em mensagens não fixadoras. Qualquer app pode potencialmente sobrescrever o sticky de outro app. Uma das coisas boas sobre usar um intent, fixador ou não, é que, embora você possa especificar quais apps deseja que o recebam, não precisa. Seu Android determina os apps certos para receber seu broadcast, com base no filtro incorporado em cada app pelo seu programador.