Android cómo comprobar wifi está conectado, pero no hay conexión a Internet

Android mi dispositivo conectado con wifi pero cómo a wifi si está conectado, pero esto no es conexión a Internet

Siguiente es mi código que estoy tratando de comprobar si no hay conexión a Internet

public static boolean isConnectedWifi(Context context) { NetworkInfo info=null; if(context!=null){ info= IsNetConnectionAvailable.getNetworkInfo(context); } return (info != null && info.isConnected() && info.getType() == ConnectivityManager.TYPE_WIFI); } 

Siempre devuelve true cuando no hay acceso a Internet

El código que está utilizando es sólo uso para comprobar si está conectado a wifi o no. No comprueba si ese wifi es lento o no. (Internet no significa conexión lenta).

He intentado usar este código. Aquí, intento golpear google.com y he fijado un valor del timeout de la conexión. Si aquí la velocidad de Internet es buena, entonces el resultado devuelto es 200. Así que compruebo si el código de resultado es 200 o no. Si no, muestro una alerta de que hay una conexión a Internet lenta. Utilícelo en una asyntax, y onPostExecute () compruebe el valor del resultado devuelto.

 HttpURLConnection urlc = null; try { urlc = (HttpURLConnection) (new URL("http://www.google.com") .openConnection()); } catch (MalformedURLException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } catch (IOException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } urlc.setRequestProperty("User-Agent", "Test"); urlc.setRequestProperty("Connection", "close"); urlc.setConnectTimeout(1000); // choose your own timeframe urlc.setReadTimeout(2000); // choose your own timeframe try { urlc.connect(); // returning connection code. return (urlc.getResponseCode()); } catch (IOException e1) { e1.printStackTrace(); } 

Para comprobar si está conectado a Internet mediante Wi-Fi, eche un vistazo al siguiente fragmento:

 NetworkInfo getWifi(){ ConnectivityManager connManager = (ConnectivityManager) getContext().getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo mWifi = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI); return mWifi; } 

Compruebe si está conectado o no;

 if(getWifi().isConnected()) { //wi-fi connected } 
  • Cómo activar la Wi-Fi en el dispositivo de emulador de Android?
  • ANR keyDispatchingTimedOut pero no tiene clases en stacktrace
  • Obtener Android WiFi "net.hostname" del código
  • ¿Se puede utilizar MulticastLock de Android para monitorear solicitudes de sondeo 802.11 desde otros dispositivos?
  • Conectar android a dos redes inalámbricas simultáneamente
  • Android: ¿Por qué el SDK no proporciona al programador la posibilidad de agregar fácilmente perfiles WiFi (EAP)?
  • Obtención de velocidad de datos de la red wifi / móvil mediante programación
  • Obtener la lista de todos los usuarios conectados mediante wifi tethering en android
  • ¿Cómo publicar el nombre del dispositivo (Variable) sobre WiFi, como algunas aplicaciones de transferencia de archivos hacer?
  • Cómo obtener la dirección MAC de la interfaz WIFI en android?
  • Desactivación de Samsung "Auto Network Switch" para conexión WiFi
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.