Tecnologia do Blogger.
RSS

Re: [androidbrasil-dev] Melhor abordagem para executar tarefas de tempo em tempo (estilo WhatsApp)

Até onde eu sei, WhatsApp tenta reenviar somente a da conversa em questão. 

A arquitetura seria a mais simples neste caso. Ao entrar em uma conversa, veja as mensagens que não foram enviadas (previamente cadastradas no banco) e envie-as ao servidor. Não resolve?

Você tem que tomar cuidado com AlarmManager e correlatos. Pode ser uma solução gulosa de bateria se você não tomar cuidado com os Wake Locks. Vai te dar mais problemas do que soluções. Eu já tive problema com isso antes e este link me ajudou:
https://stackoverflow.com/questions/14076468/android-correct-way-to-use-alarmmanager-without-draining-battery

[]s.

Em sexta-feira, 9 de janeiro de 2015 11:23:40 UTC-2, William Lopes escreveu:
Se você vai utilizar a cada poucos segundos, porque não um Handler?

Eu acredito que o WhatsApp, assim como qualquer outro aplicativo, tenham alguns Receivers cadastrados, como para conexão de dados, presença do usuário (USER_PRESENT), alarmes, algo nesse sentido.

Isso não tem muito segredo, exceto em casos em que são utilizados mensagens PUSH, onde o servidor é que tenta enviar algum sinal para o cliente, tal como uma nova mensagem chegou, etc., assim o cliente poderia entender que a 'porta está aberta'.


Em Fri Jan 09 2015 at 11:09:51 AM, Gink Labrev <gink....@gmail.com> escreveu:
@William
Valeu. Faz sentido.

A maioria dos exemplos que vejo em AlarmManager trabalham com escala de minutos ou horas. Neste caso, precisa ser no máximo, a cada poucos segundos. Isso drenaria a bateria ? 

Alguém aqui chutaria como o Whatsapp funciona em relação à isso ?
Como este garante a entrega de mensagem mesmo após uma falha no envio.

Em 9 de janeiro de 2015 10:51, William Lopes <williaml...@gmail.com> escreveu:
Acredito que um alarme seria a melhor alternativa, a abordagem vai depender de cada caso. Você poderia, por exemplo, colocar um alarme com um delay crescente em caso de falha (tendo um limite e uma inteligência no delay, obviamente), ou em casos mais simples, tentar 3 vezes a cada 1, 3 ou 10 minutos.

Não existe a melhor forma de fazer isso, você deve ver sua necessidade e restrições, tal como: preciso que a mensagem seja enviada o quanto antes, preciso controlar o consumo da bateria, etc..

Em sábado, 3 de janeiro de 2015 01:45:39 UTC-2, Gink Labrev escreveu:
Pessoal,

Como o whatsApp fica tentando reenviar uma mensagem mesmo se ocorrer um erro ?
Qual a melhor abordagem para isso ? AlarmManager + IntentService ?

Abs,

--
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to a topic in the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/androidbrasil-dev/BqLqVlIaxEQ/unsubscribe.
To unsubscribe from this group and all its topics, send an email to androidbrasil-...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

0 comentários:

Postar um comentário