No Android, como é que aplicações de messenger como o Viber e o WhatsApp mantêm o seu serviço vivo em segundo plano?
Não mantêm nenhum serviço vivo em segundo plano.
Começar a partir do Android 4.4 , todos os serviços serão executados enquanto a aplicação estiver em primeiro plano. Isto foi introduzido para reduzir o uso da bateria, apenas alguns serviços do sistema continuam a correr em segundo plano, incluindo o serviço de jogo... Voltar à sua pergunta: Como os aplicativos de mensagens mantêm seus serviços vivos em segundo plano?
Como respondido acima. Eles não mantêm um serviço em execução que está escutando constantemente por notificações, em vez disso eles usam notificações push que notificam seus aplicativos que uma mensagem, por exemplo, foi recebida e então eles iniciam um serviço para construir a notificação que mostra na tela.
É importante não misturar notificações push(mensagens) com notificações(visuais) que você vê na tela. As notificações push são apenas mensagens que podem conter dados, você pode chamar um serviço que analisa os dados e escolher qual ação é viável, baixar o conteúdo em segundo plano, por exemplo, ou na maioria dos casos construir uma notificação visual que o usuário verá (notificações whatsapp ou viber) com NotificationBuilder em android, por exemplo, depende do seu caso de uso.
Você também pode usar notificações push em sua aplicação, dê uma olhada no Firebase Cloud Messaging | Enviar notificações através de plataformas gratuitamente | Firebase . E é grátis.
Artigos semelhantes
- Porque é que o WhatsApp é mais popular do que outras aplicações de messenger semelhantes como o Viber e o Kik?
- Posso fazer um aplicativo web que roda no Android como modo de primeiro plano, por exemplo, trabalhar em segundo plano mesmo quando fecho o navegador?
- O que acontece se você recarregar a Airtel com um segundo plano de rede com o primeiro plano de rede ainda ativo?
- Seria possível criar uma aplicação que fundisse todas as mensagens e contactos da Viber, Line, WhatsApp, etc.?