Comment désactiver la détection de portail captif? Comment supprimer un point d'exclamation sur le Wi-Fi ou une icône de signal dans Lollipop?

36

Lorsqu'il est connecté à Internet, le système vérifie s'il se trouve dans un jardin clos, qui tente simplement de se connecter à Google. En cas d’échec, sous Android 5, il y aura un point d’exclamation sur l’icône WiFi ou l’icône de signal.

Dans certaines situations, c'est agaçant. Disons qu'en Chine Google est bloqué, le point d'exclamation sera toujours là, ce qui n'a pas de sens.

Comment puis-je désactiver cette vérification et faire en sorte que le système assume que les données WiFi / mobiles connectées sont connectées à Internet?

Qian
la source
Rouvert parce que c’est une question différente à l’OMI. Vous pouvez souhaiter désactiver ceci sans rencontrer le problème dans l'autre question.
Matthew Lu

Réponses:

33

C'est simple. Dans le terminal (nécessite root) ou dans adb shell(ne nécessite pas de root), lancez la commande

settings put global captive_portal_detection_enabled 0

et redémarrez. Il devrait être désactivé. L'état existant peut également être vérifié via la commande

settings get global captive_portal_detection_enabled

Une réponse "null" indique que la valeur de la clé globale n'a pas été définie et qu'Android reviendra par défaut à l'activation et à l'exécution de la détection. Si la détection est désactivée, la réponse "0" sera reçue.

Plus d'infos: Android: Comment supprimer la détection de «portail captif» sur Android 4.2.2 et 4.3

Cela fonctionne aussi dans 5.

Qian
la source
Génial! Je remarque que le lien décrit cela dans 4.2.2 et 4.3. Avez-vous (ou qui que ce soit d'autre) vérifié que cela fonctionne également dans la version 5.0.x?
Flyto
@ SimonW oui, ça marche. C'est pourquoi j'ai tagué la question sucette. J'utilise CyanogenMod 12 cependant.
Qian
Je suis dans Android Noob. Dois-je enraciner cela pour que cela aille?
Christian Bongiorno
1
Commentaire de Gery , dépourvu de représentation: Pour ceux qui utilisent Terminal pour la première fois, n'oubliez pas de mettre la commande "su" avant de faire quoi que ce soit, pour autoriser les autorisations de super-utilisateur. (Cela m'a pris un certain temps pour comprendre pourquoi je reçois une "permission refusée") Après cela, cela a fonctionné à merveille.
Izzy
1
En partant de Nougat (je suppose, pourrait n'être que de la version 7.1.2, ou déjà en guimauve), utilisez settings put global captive_portal_mode 0plutôt l' adresse
bonob
13

Dans l’Android M Developer Preview de Shamu (Nexus 6), et éventuellement d’autres versions de ce système d’exploitation, le système d’exploitation captive_portal_server globalest utilisé par le système d’exploitation, quel que soit son état, captive_portal_detection_enabledafin de déterminer l’état d’un réseau WiFi.

Pour les réseaux WiFi, non seulement un point d'exclamation est dessiné sur l'icône de force, mais le SSID est mis en liste noire pour permettre la reconnexion automatique si curll'URL spécifiée dans le captive_portal_server globalSSID n'est pas correctement connectée. La reconnexion manuelle est autorisée, mais ne le restera que si vous avez sélectionné captive_portal_detection_enabledmanuellement «Utiliser ce réseau tel quel», chaque fois que vous vous connectez à ce SSID WiFi. Cette dérogation est temporaire.

Pour les réseaux de fournisseurs de services mobiles, le captive_portal_serversymbole n'est utilisé que pour dessiner un point d'exclamation sur l'icône de force, mais restera connecté et le trafic sera acheminé si la connexion est fonctionnelle.

Sur votre appareil enraciné, la solution est de l'activer à nouveau, captive_portal_detection_enabledsi vous l'avez désactivé, connectez-vous à ce réseau WiFi, sélectionnez "Utiliser ce réseau tel quel" dans le menu déroulant de la fenêtre du portail captif, désactivez votre réseau mobile. données permettant de déterminer un site Web pouvant être récupéré via votre réseau Wifi en vous connectant à votre portail captif, puis en utilisant un navigateur pour en trouver un qui fonctionne. Après cela, vous pouvez désactiver captive_portal_detection_enabledpour empêcher le pop-up ennuyeux.

Pour réactiver votre captive_portal_detection, si vous l'avez déjà désactivé, lancez la commande:

settings put global captive_portal_detection_enabled 1

Désactivez votre réseau mobile (sous Paramètres - Utilisation des données - Données mobiles - Désactivé) pour obliger le téléphone à utiliser le réseau WiFi pour tout le trafic, temporairement. Cela ne sera plus nécessaire une fois que vous aurez défini tous vos paramètres.

Android M semble nécessiter un site Web qui se charge avec succès et ne renvoie pas activement un 204 (pas de contenu).

Quelques options incluent mais ne se limitent pas à

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...

Une fois que vous en avez trouvé un qui fonctionne pour votre réseau WiFi (vous devez souvent faire preuve de plus d'imagination et de tentatives derrière les proxys de passerelle Web d'entreprise qui n'apprécient pas le trafic HTTPS avant l'authentification), vous pouvez enregistrer le serveur.

Enregistrez le serveur en l'exécutant dans votre application de terminal activée à la racine. Remplacez l'exemple d'URL par celui que vous espérez:

settings put global captive_portal_server androidcheck.kiritostudio.com

Redémarrez votre appareil. Essaye le. Une fois que vous êtes satisfait du comportement des marques d’exclamation sur les icônes, la dernière étape consiste à désactiver la fenêtre contextuelle du portail captif, qui est l’une des inventions les plus déplorables de cette décennie.

Commande d'émission:

settings put global captive_portal_detection_enabled 0

Si vous vous trouvez dans un pays différent ou dans une situation Wi-Fi où des problèmes surviennent, vous devrez malheureusement répéter ce qui précède, réactiver captive_portal_detection_enabled, réactiver , rechercher le bon serveur, puis désactiver la détection du portail.

Android M utilisateur
la source
Voulez-vous dire HTTP 204 ( pas de contenu ) ou HTTP 404 (non trouvé)? Actuellement, j'ai changé pour "pas de contenu" en fonction d' une autre réponse
Andrew T.
Cela a résolu le problème "connecté, pas d'internet" sur Nougat. Exécution de CM14.1 (7.1.2) fraîchement flashé sur Nexus.
Yvon
1

Vous pouvez y configurer votre adresse de serveur de portail captif.

settings put global captive_portal_server g.cn

Ensuite, redémarrez votre téléphone.

PS: Avant cela, vous pouvez valider que le serveur est disponible.

http://g.cn/generate_204

Kebin Liu
la source
Préférez g.cn pour la Chine continentale
Youfu
Je reçois une erreur HTTP 404.0 - Introuvable
Lucky
@ Chanceux S'il vous plaît utiliser g.cn.
Kebin Liu