Android: O que é Sticky Broadcast?

click fraud protection

Uma transmissão persistente é uma ferramenta que os desenvolvedores Android usam para se comunicar entre aplicativos. Essas transmissões acontecem sem que o usuário seja notificado. O sistema operacional Android normalmente trata cada aplicativo como se fosse um usuário separado. Os aplicativos são executados de forma independente e isolada, em máquinas virtuais separadas, usando apenas os componentes de hardware de que precisam para funcionar. Isso leva a uma segurança rígida, mas às vezes os aplicativos precisam compartilhar informações, as transmissões fixas são uma solução para obter informações de um aplicativo para outro.

Transmissões

As transmissões são anúncios enviados para aplicativos Android. Isso acontece sem que o usuário perceba. O sistema operacional Android inicia a maioria das transmissões, mas aplicativos individuais também podem transmitir. Por exemplo, quando a bateria fica fraca ou a tela desliga, um anúncio vai para todos os aplicativos. Se um aplicativo receber dados que estão disponíveis para outros aplicativos, ele os informará. Para que o anúncio chegue aos aplicativos, ele precisa ir primeiro a um receptor de transmissão, um componente do aplicativo que lida com as mensagens de transmissão.

Vídeo do dia

Android Intents

Por causa da separação que o Android impõe entre seus vários aplicativos, todas as transmissões passam pelo sistema operacional. Um aplicativo não pode contatar diretamente o receptor de transmissão de outro aplicativo. Quando um aplicativo deseja enviar uma transmissão, ele notifica o sistema operacional com um Intent. Um Intent é uma mensagem para ativar um aplicativo ou ativar um de seus componentes, como o receptor. O Intent simplesmente define a mensagem que está prestes a ser transmitida - que a bateria está fraca, por exemplo, ou para solicitar acesso a uma fotografia em seu telefone.

Sticky Broadcasts

Uma transmissão normal chega ao receptor para o qual se destina e é encerrada. Uma transmissão persistente permanece para que possa notificar outros aplicativos se eles precisarem das mesmas informações - por exemplo, que a bateria agora está totalmente carregada. Quando você registra um novo aplicativo que precisa saber as informações ou quando um aplicativo inativo é iniciado, a transmissão persistente é enviada para o receptor do novo aplicativo. Uma nova transmissão persistente com informações atualizadas sobre o mesmo tópico irá reescrever uma transmissão persistente anterior.

Considerações

Um aplicativo só pode enviar uma transmissão persistente ou remover uma se sua programação incluir uma permissão autorizando stickies. A segurança em transmissões fixas não é tão rígida quanto em mensagens não fixas. Qualquer aplicativo pode substituir potencialmente o sticky de outro aplicativo. Uma das coisas boas sobre o uso de uma intenção, aderente ou não, é que, embora você possa especificar quais aplicativos deseja recebê-la, não é necessário. Seu Android determina os aplicativos certos para receber sua transmissão, com base na filtragem embutida em cada aplicativo por seu programador.