Estou desenvolvendo um aplicativo no android e gostaria de saber como verificar se existe conexao com internet
para não receber uma exception.
final NetworkInfo wifiNetworkInfo =
connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
if (wifiNetworkInfo == null) {
return false;
}
boolean connected = wifiNetworkInfo.getState() == NetworkInfo.State.CONNECTED
|| wifiNetworkInfo.getState() == NetworkInfo.State.CONNECTING;
[quote=Marky.Vasconcelos][code]
final NetworkInfo wifiNetworkInfo =
connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
if (wifiNetworkInfo == null) {
return false;
}
boolean connected = wifiNetworkInfo.getState() == NetworkInfo.State.CONNECTED
|| wifiNetworkInfo.getState() == NetworkInfo.State.CONNECTING;
[/code][/quote]
Valeu amigão, mas minha conexão WIFI só retorna false;
Use esse metodo :
[code] public static boolean VerificaConexao(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;
else
return false;
}[/code]
e
Adicione ao seu androidmanifest.xml essa linha:
Como pode ver esse codigo apenas verifica se a conexao mas tive um pequeno problema que foi o seguinte.
Em um local que usei o app a conexao existia mas era preciso um login nao da rede mas da internet para navegar e ai acontecia o erro.
Fica facil de arrumar isso mas vai de acordo com seu app… no meu caso em que eu pegava dados da internet e jogava para o banco quando havia conexao eu apenas adicionei uma condicao que era a de verificar se haviam dados…
Espero ter ajudado !
public static boolean VerificaConexao(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;
else
return false;
}
estou tentando usar esse metodo pára verificar minha conexao mas o problema q encorntei foi q esse metodo só retorna TRUE!!
alguem saberia disser onde estaria o erro???
obrigado!