Código fuente Wifi
Utilice la clase ConnectivityManager que viene con Android.
A veces el wifi está conectado, pero el wifi no puede acceder a Internet. Puede determinar si puede acceder a Internet haciendo ping al sitio web de Baidu.
También puedes utilizar solicitudes de obtención para acceder a Baidu. Si la solicitud de obtención tiene éxito, significa que puede acceder a Internet.
Determina si la red está conectada.
//?¿Comprobar? ¿todo? ¿red? conectar,? WIFI? ¿aún? Móvil
¿Masculino? ¿Electricidad estática? ¿Booleano? ¿La red está disponible (final? ¿Contexto? ¿Contexto)? {
¿Booleano? ¿Tiene WifoCon? =?Falso;
¿Booleano? tieneMobileCon? =?Falso;
¿Administrador de conectividad? ¿centímetro? =?(Administrador de conectividad)? contexto .getsystem service(context.Connectivity_Service);
NetworkInfo[]? netInfos? =?cm . getallnetworkinfo();
¿Para qué? (¿NetworkInfo?net?:?netInfos)? {
¿Cadena? ¿tipo? =?net . obtener nombre de tipo();
Si? (tipo.equalsIgnoreCase("WIFI "))? {
LevelLogUtils.getInstance(). i(etiqueta, ? "¿Tienes? ¿Wifi? conexión");
si ? (net.isConnected())? {
¿tieneWifoCon? =?Verdadero;
}
}
¿Si? (type.equalsIgnoreCase("MÓVIL "))? {
LevelLogUtils.getInstance(). i(etiqueta,? "¿tienes? teléfono? conectado");
si? (net.isConnected())? {
¿Tiene MobileCon? =?Verdadero;
}
}
}
¿Devolver? ¿Tiene WifoCon? ||?hasMobileCon
} Utilice ping para determinar si la solicitud de Internet puede tener éxito.
//?¿Red? ¿Disponible? ¿no puedo? ¿Cerciorarse? ¿Internet? ¿Sí? ¿Estás disponible?
Sr. ¿Electricidad estática? ¿Booleano? ¿Está NetWork disponible (final? ¿Contexto? ¿Contexto)? {
¿Tiempo de ejecución? ¿Tiempo de ejecución? =?runtime . get runtime();
¿Probar? {
¿Proceso? ¿Proceso de ping? =?runtime.exec("/system/bin/ping?-c?1?www . Baidu . com");
int? ¿Código de salida? =?proceso de ping . esperar();
¿Regresar? (código de salida?==?0);
}?Captura? (¿Excepción?e)? {
e . printstacktrace();
}
¿Regresión? Falso;
}