Verificar se tem conexão com a internet

Uma grande ajuda que a API do Android nos dá é a possibilidade de checar se tem internet disponível para sua aplicação no aparelho do usuário.

Eu fiz um método bem simples que verifica o estado da conexão.


/**
* <h1>public {@link Boolean boolean} isOnline()</h1><br>
* Checa se tem conexão ou não com a internet.
* @param contexto em que será exibido o texto
* @return <li> retorna true se tem conexão ou falso se não.
* */
public static boolean isOnline(Context contexto){
ConnectivityManager cm = (ConnectivityManager) contexto.getSystemService(Context.CONNECTIVITY_SERVICE);//Pego a conectividade do contexto o qual o metodo foi chamado
NetworkInfo netInfo = cm.getActiveNetworkInfo();//Crio o objeto netInfo que recebe as informacoes da NEtwork
System.out.println("NETWORK INFO: "+netInfo.getSubtypeName());
if ( (netInfo != null) && (netInfo.isConnectedOrConnecting()) && (netInfo.isAvailable()) ) //Se o objeto for nulo ou nao tem conectividade retorna false
return true;

return false;
}

Com isso, você pode usar seu método antes de executar as chamadas em web services e evitar ANRs ou exceptions.

para esse código funcionar corretamente, nao esqueça de declarar no seu AndroidManifest.xml a propriedade que permite voce ter acesso a informação de estado da rede.


<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

Anúncios

Sobre renatopuccini
Android Developer. Passion for what I do!

4 Responses to Verificar se tem conexão com a internet

  1. Iomar says:

    Que parametros passo na chamada do metedo dentro da activity?

    • Eu passo o contexto o qual o metodo foi chamado.
      Se ele foi chamado de uma activity, eu passo “this” como parametro.
      Aqui no meu projeto, eu criei uma classe que tem metodos estaticos o qual pode ser usado no meu projeto todo.
      dae eu chamo ele e pego o contexto o qual ele esta inserido.
      if(ServiceProvider.isOnline(this)){
      espero ter ajudado.
      abs

  2. Bruno says:

    Muito util, esta de parabens.

  3. Leonel says:

    Show de post, ajudou bastante amigo… parabéns!!!

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: