Es importante comprender el código bien antes de aplicarlo a tu trabajo y si ttienes algo que aportar puedes compartirlo con nosotros.
Solución:
Es sencillo. En la terminal (requiere root), o en adb shell
(no requiere root), emita el comando
settings put global captive_portal_detection_enabled 0
y reiniciar Debería estar deshabilitado. El estado existente también se puede verificar a través del comando
settings get global captive_portal_detection_enabled
Una respuesta de “null” indica el mundial key el valor no se ha establecido y Android volverá a la configuración predeterminada de estar encendido y realizar la detección. Si la detección está deshabilitada se recibirá la respuesta de “0”.
Más información: Android: Cómo eliminar la detección de “portal cautivo” en Android 4.2.2 y 4.3
También funciona en 5.
En Android M Developer Preview para Shamu (Nexus 6), y posiblemente en otras compilaciones de este sistema operativo, el captive_portal_server global
es utilizado por el sistema operativo independientemente del estado de captive_portal_detection_enabled
para determinar la salud de una red WiFi.
Para las redes WiFi, no solo dibujará un signo de exclamación en el ícono de fuerza, sino que incluirá en la lista negra ese SSID para que no se vuelva a conectar automáticamente si no lo hace con éxito. curl
la URL especificada en el captive_portal_server global
a través de ese SSID. Se permite la reconexión manual, pero solo permanecerá conectado si tiene captive_portal_detection_enabled
y elija “Usar esta red tal como está” manualmente, cada vez que se conecte a ese WiFi SSID. Esta anulación es temporal.
Para redes de proveedores móviles, la captive_portal_server
solo se usa para dibujar un signo de exclamación en el ícono de intensidad, pero permanecerá conectado y el tráfico fluirá si la conexión es funcional.
En su dispositivo rooteado, la solución es volver a habilitar captive_portal_detection_enabled
si lo ha deshabilitado, conéctese a esa red WiFi, seleccione “Usar esta red tal cual” en el menú desplegable en la ventana emergente del portal cautivo, deshabilite los datos de su red móvil para concentrarse en determinar un sitio web que se pueda recuperar a través de su red Wifi iniciando sesión en su portal cautivo y luego use un navegador para encontrar uno que funcione. Después de eso, puede desactivar captive_portal_detection_enabled
para evitar la molesta ventana emergente.
Para volver a habilitar su captive_portal_detection
si lo deshabilitó anteriormente, emita el comando:
settings put global captive_portal_detection_enabled 1
Deshabilite su red móvil (en Configuración – Uso de datos – Datos móviles – Desactivado), para obligar al teléfono a usar la red WiFi para todo el tráfico, temporalmente. Esto no será necesario una vez que tenga todas sus configuraciones donde deben estar.
Android M parece requerir un sitio web que se carga correctamente y no devuelve activamente un 204 (sin contenido).
Un par de opciones incluyen pero no se limitan a
androidcheck.kiritostudio.com
captive.apple.com
www.textise.net
the network router
localhost
127.0.0.1 (if you have an onboard simple HTTP server)
and the list goes on...
Después de encontrar uno que funcione para su red WiFi (a menudo requiere más imaginación e intentos detrás de los proxies de puerta de enlace web corporativos a los que no les gusta el tráfico HTTPS antes de la autenticación), puede guardar el servidor.
Guarde el servidor ejecutando esto en su aplicación de terminal habilitada para root, reemplazando la URL de ejemplo con la que espera que funcione:
settings put global captive_portal_server androidcheck.kiritostudio.com
Reinicie su dispositivo. Pruébalo. Una vez que esté satisfecho con el comportamiento de los signos de exclamación en los íconos, el último paso es deshabilitar la ventana emergente del portal cautivo, que es uno de los inventos más desafortunados de esta década.
Emitir comando:
settings put global captive_portal_detection_enabled 0
Si te encuentras en un país diferente o en una situación WiFi donde surgen problemas, lamentablemente deberás repetir lo anterior desde el principio, volviendo a habilitar captive_portal_detection_enabled
reiniciando, encontrando el servidor correcto y luego deshabilitando la detección del portal.
Reseñas y valoraciones
Si crees que te ha sido útil este artículo, nos gustaría que lo compartas con más desarrolladores así contrubuyes a dar difusión a esta información.