Tecnologia do Blogger.
RSS

Re: [androidbrasil-dev] onServiceStateChanged nunca gera evento OUT_OF_SERVICE e EMERGENCY_ONLY

Só para constar, eu realmente estava certo, acredito firmemente que existe um bug no android, ou algo que faça com que ele lance à sua vontade, enfim, para conseguir utilizar e recuperar o real estado do serviço, você deve adicionar este intent-filter<action> no Receiver: android.intent.action.SERVICE_STATE

E chamá-lo assim no Receiver:
if(intent.getAction().equals("android.intent.action.SERVICE_STATE")) {
   int state = intent.getExtras().getInt("state");
   
   if (state == ServiceState.STATE_OUT_OF_SERVICE) // do something

}

Abraços e espero ajudar os próximos com o mesmo problema!


Em 2 de abril de 2013 15:41, William Lopes <williamlopes.dev@gmail.com> escreveu:
Faz sim, na verdade ele armazena no banco de dados, e quando conecta em alguma rede ele envia tudo que está lá.

Obrigado!


Em 2 de abril de 2013 15:39, luciofm <luciofm@gmail.com> escreveu:

Só uma pergunta, o seu envia() faz queue das mensagens em caso de erro correto?

Pois se você está sem sinal, muito provavelmente não ira conseguir enviar esses status para o seu servidor.

Lúcio Maciel
luciofm@gmail.com


2013/4/2 William Lopes <williamlopes.dev@gmail.com>

Esses estados apareceram no meu celular e não foram lançados.

Você diz: " Fora isso, e com todo o respeito, dizer "meu código faz A portanto B também funciona" não tem o menor embasamento em realidade. :)", meu código não faz B, eles são a mesma coisa, ou seja, são 2 dos possíveis valores do parâmetro recebido, eu apenas envio para o servidor o que eu receber, sem nenhuma restrição ou condição, porém só recebo IN_SERVICE. E se o android utiliza o mesmo sistema, por que no meu celular mostra que eu estou fora de serviço e no servidor não?

E eu cheguei nesses estados sim, meu pai mora no interior e no final de semana fomos para um sítio onde não "pegava" nada. E novamente, no meu celular aparece que eu estou fora de serviço, mas não é enviado pra mim isso.

Obrigado!

Em 02/04/2013 14:32, "Bruno Albuquerque" <bruno.albuquerque@gmail.com> escreveu:

SIm, eu tenho certeza que utilizam o mesmo sistema. Fora isso, e com todo o respeito, dizer "meu código faz A portanto B também funciona" não tem o menor embasamento em realidade. :)

Mas você está ignorando o óbvio que foi a primeira coisa que eu disse. Esses estados são raros e você pode simplesmente não ter chegado nos mesmos.

E, só pra constar: Empurra goela a baixo? Todos os métodos que você mencionou tem que minimizar o numero de notificações enviadas pra reduzir o wakeup do telefone. Por exemplo, no caso do sinal, ele muda *LITERALMENTE* a todo instante mas essas mudanças são completamente irrelevantes pra quem quer que seja e se fossem reportadas seu celular nunca iria dormir. 


Em 2 de abril de 2013 13:59, William Lopes <williamlopes.dev@gmail.com> escreveu:
"Isso não exclui a possibilidade de um bug no sistema mas como o próprio sistema usa o mesmo método pra setar as mensagens indicando esses estados pro usuário, isso é bem improvável.".
Será que utilizam o mesmo sistema? Existem várias restrições que a Google impõe goela abaixo, em alguns casos como a mudança da intensidade do sinal eles mesmo falam que são gerados a vontade deles e não quando realmente mudam. Outro exemplo é quando você conecta no WIFI ou 3G, somente depois de um delay definido por eles que recebemos o sinal de conexão de dados!

Eu tenho certeza que o meu código não está errado, porque é o mesmo para o que gerou corretamente (IN_SERVICE).

Acho muito estranho isso, vou tentar investigar mais, talvez até colocar um service em segundo plano só para isso!


Em 2 de abril de 2013 13:52, Bruno Albuquerque <bruno.albuquerque@gmail.com> escreveu:
Isso é puramente circunstancial. O mecanismo que notifica para qualquer estado é exatamente o mesmo. Os dois estados que você mencionou só ocorrem em casos bem específicos, como eu mencionei. É mais provavel que você tenha um bu no seu código ou que simplesmente não tenha chegado nesses estados em nenhum momento do que apenas esses 2 estados não estarem funcionando.

Isso não exclui a possibilidade de um bug no sistema mas como o próprio sistema usa o mesmo método pra setar as mensagens indicando esses estados pro usuário, isso é bem improvável.



Em 2 de abril de 2013 13:47, William Lopes <williamlopes.dev@gmail.com> escreveu:
Sim, mas eu instalei o aplicativo em 3 dispositivos diferentes, com 3 pessoas diferentes, sendo que 2 viajam muito, inclusive para o exterior, mas nunca chamou.

Eu já olhei para o meu celular e vi que está fora de área ou em só emergência, mas nunca disparou!

Em terça-feira, 2 de abril de 2013 13h44min56s UTC-3, BGA escreveu:
OUT_OF_SERVICE só vai acontecer, basicamente, se você for para uma região que não tem *NENHUM* sinal. Nem mesmo de outras operadoras que não a sua.

EMERGENCY_ONLY só vai acontecer quando não tiver sinal da sua operadora ou de uma operadora com acordo de roamin com a mesma, mas tem sinal de outras operadoras.

-Bruno



Em 2 de abril de 2013 13:43, William Lopes <williaml...@gmail.com> escreveu:
Eu coloquei para sempre que gerar qualquer tipo de evento enviar para o servidor, mas só envia IN_SERVICE.


Em 2 de abril de 2013 13:42, Bruno Albuquerque <bruno.al...@gmail.com> escreveu:
Como exatamente você está testando OUT_OF_SERVICE e EMERGENCY_ONLY?



Em 2 de abril de 2013 13:40, William Lopes <williaml...@gmail.com> escreveu:
Pessoal, fiz uma implementação aqui e preciso saber quando o dispositivo não está com rede disponível, mas ele nunca gera eventos de OUT_OF_SERVICE e EMERGENCY_ONLY, eu sei que a minha implementação está correta porque o estado IN_SERVICE, funciona que é uma beleza, mas os outros nunca foram disparados, já testei em três dispositivos com 3 versões diferentes do android e nada.

Alguém sabe o motivo disso estar acontecendo?

Obrigado!

--
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/groups/opt_out.
 
 

--
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/aZYB_Tt7hYk/unsubscribe?hl=en-US.
To unsubscribe from this group and all its topics, send an email to androidbrasil-...@googlegroups.com.

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

--
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/groups/opt_out.
 
 

--
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/groups/opt_out.
 
 

--
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/aZYB_Tt7hYk/unsubscribe?hl=en-US.
To unsubscribe from this group and all its topics, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.

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

--
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/groups/opt_out.
 
 

--
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/aZYB_Tt7hYk/unsubscribe?hl=en-US.
To unsubscribe from this group and all its topics, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

--
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/groups/opt_out.
 
 

--
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/aZYB_Tt7hYk/unsubscribe?hl=en-US.
To unsubscribe from this group and all its topics, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 


--
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/groups/opt_out.
 
 

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

0 comentários:

Postar um comentário