Tecnologia do Blogger.
RSS

Re: [androidbrasil-dev] Verificar conexão

Acredito que seja algo que estou fazendo errado então.


A função ficou dessa forma:

//função - forçar uso do 3g
private Boolean setMobileDataEnabled(Context context, boolean enabled) throws Exception {
   final ConnectivityManager conman = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
   Class<?> conmanClass;
   conmanClass = Class.forName(conman.getClass().getName());
   final Field iConnectivityManagerField = conmanClass.getDeclaredField("mService");
   iConnectivityManagerField.setAccessible(true);
   final Object iConnectivityManager = iConnectivityManagerField.get(conman);
   final Class<?> iConnectivityManagerClass = Class.forName(iConnectivityManager.getClass().getName());
   final Method setMobileDataEnabledMethod = iConnectivityManagerClass.getDeclaredMethod("setMobileDataEnabled", Boolean.TYPE);
   setMobileDataEnabledMethod.setAccessible(true);
 
   if (setMobileDataEnabledMethod.invoke(iConnectivityManager, enabled) != null){
       return true;
   } else {
       return false;
   }
}

e chamei dessa forma:

     boolean enabled = false;
    //força o uso do 3g
    try {
if (setMobileDataEnabled(this, enabled)) {
Toast.makeText(this, "Dados ativados", Toast.LENGTH_LONG).show();
}
} catch (Exception e) {
Toast.makeText(this, "Erro: " + e.toString(), Toast.LENGTH_LONG).show();
e.printStackTrace();
}

E gera o erro java.lang.reflect.InvocationTargetException 

Em 2 de julho de 2012 14:59, Maicon Strey <mstrey@gmail.com> escreveu:
Gabriel,
pra mim funcionou normal num Galaxy 5 com 2.1.


Maicon Strey
Novo Hamburgo - RS - Brasil
------------------
Precisa me dar um presente e não sabe o que comprar? wishlist
Linux user: #525086
------------------



2012/7/2 Gabriel Augusto <gabrielaugustodm@gmail.com>
O problema não são as exceções, o problema é que não estou conseguindo usar a função no Android 2.2. Não sei se estou utilizando da forma correta, gostaria de saber se alguem ja utilizou a mesma..

Abraço,

Gabriel Augusto

Em 2 de julho de 2012 12:48, Henrique Melo <henrique1985@gmail.com> escreveu:

vc pode adicionar apenas Exception, caso a grande porção de exceções seja o problema.

Em 2 de julho de 2012 11:45, Gabriel Augusto <gabrielaugustodm@gmail.com> escreveu:

Estou tendo problemas para usar o metodo de habilitar a conexão 3g que vc mandou:  http://maicon.strey.nom.br/blog/2012/06/28/habilitar-conexao-3gwifi-programaticamente-2/ 

Após adicionar os metodos reflect, fui obrigado a adicionar uma porção de exceções: ClassNotFoundException, SecurityException, NoSuchFieldException, IllegalArgumentException, IllegalAccessException, NoSuchMethodException, InvocationTargetException

Alguem ja utilizou essa funçao no 2.2?

Abraço,

Gabriel Augusto

Em 29 de junho de 2012 22:05, Maicon Strey <mstrey@gmail.com> escreveu:

Creio que tu possa fazer as duas coisas.
só faz o ping se o 3G estiver ativo.
mas fazer o ping é interessante sim.

Maicon Strey
Novo Hamburgo - RS - Brasil
------------------
Precisa me dar um presente e não sabe o que comprar? wishlist
Linux user: #525086
------------------



2012/6/29 Gabriel Augusto <gabrielaugustodm@gmail.com>
Certo. Pelo que vi nos links que ele mandou, a melhor maneira é dando ping em um site?

Visto que, verificando a conexão apenas, o usuario poderia estar em uma conexao que seja nula.

Meu maior foco é verificar a conexão 3G, porque os usuarios estariam na rua.

Abraço,

Gabriel Augusto

Em 29 de junho de 2012 17:52, Maicon Strey <mstrey@gmail.com> escreveu:

Não vai conectar,
dai tu usa o metodo que o douglas postou pra ver se conectou antes de fazer qualquer coisa.

Maicon Strey
Novo Hamburgo - RS - Brasil
------------------
Precisa me dar um presente e não sabe o que comprar? wishlist
Linux user: #525086
------------------



2012/6/29 Gabriel Augusto <gabrielaugustodm@gmail.com>
Mas e no caso de o usuario não ter conexão? Estando em uma area sem cobertura, por exemplo.

Como proceder?

Gabriel Augusto

Em 29 de junho de 2012 17:43, Maicon Strey <mstrey@gmail.com> escreveu:

Se tu quiser podes colocar opções direto no app pra ativar a conexão.
aqui eu explico como fazer:
http://maicon.strey.nom.br/blog/2012/06/28/habilitar-conexao-3gwifi-programaticamente-2/ 

Maicon Strey
Novo Hamburgo - RS - Brasil
------------------
Precisa me dar um presente e não sabe o que comprar? wishlist
Linux user: #525086
------------------



2012/6/29 Douglas Drumond <drumond.douglas@gmail.com>
Google:
android test if device can access internet

Retornou:


--
Douglas Drumond



2012/6/29 Gabriel Augusto <gabrielaugustodm@gmail.com>
Pessoal,

Comecei a programar para Android a poucas semanas.

No projeto que estou desenvolvendo, utilizo webservice para enviar informações obtidas a partir do celular. Os dados são enviados em um intervalo de tempo. 

Agora preciso começar a prepara-lo para ausencia de conexao (Wi-fi ou 3G).

Na opinião de vocês, qual a melhor maneira de verificar a existencia de conexão? Na ausencia, irei salvar no SQLite e só enviar quando tiver conexão.

Abraços,

Gabriel Augusto











--
Henrique Nogueira de Melo | @nrick_
Analista e Arquiteto de Software





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

0 comentários:

Postar um comentário