Wie deaktiviere ich die Erkennung von Captive-Portalen? Wie entferne ich das Ausrufezeichen auf dem WLAN- oder Signalsymbol in Lollipop?

36

Wenn das System mit dem Internet verbunden ist, prüft es, ob es sich in einem ummauerten Garten befindet, der lediglich versucht, eine Verbindung zu Google herzustellen. Wenn dies fehlschlägt, wird in Android 5 ein Ausrufezeichen auf dem WiFi-Symbol oder dem Signalsymbol angezeigt.

In manchen Situationen ist dies ärgerlich. Sagen wir, in China ist Google gesperrt, das Ausrufezeichen ist immer vorhanden, was bedeutungslos ist.

Wie kann ich diese Prüfung deaktivieren und das System davon ausgehen, dass verbundenes WiFi / mobile Daten mit dem Internet verbunden sind?

Qian
quelle
Wiedereröffnet, weil dies eine andere Frage ist IMO. Sie können dies deaktivieren, ohne auf das Problem in der anderen Frage zu stoßen.
Matthew Read

Antworten:

33

Es ist einfach. Geben Sie im Terminal (erfordert root) oder in adb shell(erfordert root nicht) den Befehl aus

settings put global captive_portal_detection_enabled 0

und neu starten. Es sollte deaktiviert sein. Der vorhandene Status kann auch über den Befehl überprüft werden

settings get global captive_portal_detection_enabled

Die Antwort "null" zeigt an, dass der globale Schlüsselwert nicht festgelegt wurde und Android auf die Standardeinstellung zurückgreift, bei der die Erkennung aktiviert ist und ausgeführt wird. Wenn die Erkennung deaktiviert ist, wird die Antwort "0" empfangen.

Weitere Informationen: Android: So entfernen Sie die Erkennung von "Captive Portal" auf Android 4.2.2 und 4.3

Es funktioniert auch in 5.

Qian
quelle
Groß! Ich stelle fest, dass der Link dies in 4.2.2 und 4.3 beschreibt. Haben Sie (oder jemand anderes) überprüft, dass dies auch in 5.0.x funktioniert?
Flyto
@ SimonW ja, es funktioniert. Deshalb habe ich die Frage Lutscher markiert. Ich benutze allerdings CyanogenMod 12.
Qian,
Ich bin in Android Noob. Muss ich es rooten, damit es funktioniert?
Christian Bongiorno
1
Kommentar von Gery , dem der Repräsentant dafür fehlt: Wenn Sie das Terminal zum ersten Mal verwenden, vergessen Sie nicht, den Befehl "su" zu setzen, bevor Sie etwas tun, um Superuser-Berechtigungen zuzulassen. (Es dauerte eine Weile, bis ich herausgefunden hatte, warum "Erlaubnis verweigert" wurde.) Danach funktionierte es wie ein Zauber.
Izzy
1
Ausgehend von Nougat (ich denke, es ist nur 7.1.2 oder es ist bereits Marshmallow), verwenden Sie settings put global captive_portal_mode 0stattdessen jira.lineageos.org/browse/REGRESSION-620
bonob 20.10.17
13

In der Android M Developer Preview für Shamu (Nexus 6) und möglicherweise in anderen Versionen dieses Betriebssystems captive_portal_server globalwird das Betriebssystem unabhängig vom Status von captive_portal_detection_enabledverwendet, um den Zustand eines WLAN-Netzwerks zu bestimmen.

Bei WiFi-Netzwerken wird nicht nur ein Ausrufezeichen auf das Stärkesymbol gesetzt, sondern auch die SSID für die automatische Wiederverbindung gesperrt, wenn curldie in der captive_portal_server globalVia dieser SSID angegebene URL nicht erfolgreich ist . Manuelle Wiederverbindung ist zulässig, bleibt jedoch nur dann verbunden, wenn Sie bei captive_portal_detection_enabledjeder Verbindung mit dieser WLAN-SSID die Option "Dieses Netzwerk wie besehen verwenden" ausgewählt haben. Diese Überschreibung ist vorübergehend.

In Mobilfunknetzen captive_portal_serverwird mit nur ein Ausrufezeichen auf das Stärkesymbol gesetzt, die Verbindung bleibt jedoch bestehen, und der Datenverkehr fließt, wenn die Verbindung funktioniert.

Auf Ihrem gerooteten Gerät müssen captive_portal_detection_enabledSie es erneut aktivieren, wenn Sie es deaktiviert haben, eine Verbindung zu diesem WiFi-Netzwerk herstellen und im Dropdown-Menü im Popup-Fenster des Captive-Portals die Option "Use This Network As-Is" (Dieses Netzwerk unverändert verwenden) auswählen. Deaktivieren Sie Ihr Mobilfunknetzwerk Daten zur Bestimmung einer Website, die über Ihr Wifi-Netzwerk abgerufen werden kann, indem Sie sich bei Ihrem Captive-Portal anmelden und dann mit einem Browser nach einer funktionierenden Website suchen. Danach können Sie deaktivieren captive_portal_detection_enabled, um das nervige Popup zu verhindern.

Geben Sie captive_portal_detectionden folgenden Befehl ein, um Ihre zu aktivieren , falls Sie sie zuvor deaktiviert haben:

settings put global captive_portal_detection_enabled 1

Deaktivieren Sie Ihr Mobilfunknetz (unter Einstellungen - Datennutzung - Mobilfunkdaten - Aus), um das Telefon vorübergehend zu zwingen, das WLAN für den gesamten Datenverkehr zu verwenden. Dies ist nicht erforderlich, wenn Sie alle Einstellungen dort vorgenommen haben, wo sie benötigt werden.

Android M scheint eine Website zu erfordern, die erfolgreich geladen wird und nicht aktiv einen 204 zurückgibt (kein Inhalt).

Einige Optionen umfassen, sind aber nicht beschränkt auf

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

Nachdem Sie eines gefunden haben, das für Ihr WiFi-Netzwerk geeignet ist (dies erfordert oft mehr Fantasie und Versuche hinter Web-Gateway-Proxys für Unternehmen, die keinen HTTPS-Verkehr vor der Authentifizierung mögen), können Sie den Server speichern.

Speichern Sie den Server, indem Sie dies in Ihrer root-fähigen Terminal-App ausführen und die Beispiel-URL durch die URL ersetzen, von der Sie hoffen, dass sie funktioniert:

settings put global captive_portal_server androidcheck.kiritostudio.com

Starten Sie Ihr Gerät neu. Versuch es. Sobald Sie mit dem Verhalten der Ausrufezeichen auf den Symbolen zufrieden sind, müssen Sie das Popup-Fenster für das Captive-Portal deaktivieren, eine der unglücklichsten Erfindungen dieses Jahrzehnts.

Befehl ausgeben:

settings put global captive_portal_detection_enabled 0

Wenn Sie sich in einem anderen Land oder in einer anderen WiFi-Situation befinden, in der Probleme auftreten, müssen Sie die obigen Schritte leider von Anfang an wiederholen, erneut aktivieren captive_portal_detection_enabled, neu starten, den richtigen Server finden und anschließend die Portalerkennung deaktivieren.

Android M Benutzer
quelle
Meinten Sie HTTP 204 ( kein Inhalt ) oder HTTP 404 (nicht gefunden)? Zur Zeit habe ich aufgrund einer anderen Antwort
Andrew T.
Dies löste das Problem "Verbunden, kein Internet" auf Nougat. Ausführen von CM14.1 (7.1.2) mit neuem Flash auf Nexus.
Yvon
1

Sie können Ihre eigene Portal-Serveradresse dafür einrichten.

settings put global captive_portal_server g.cn

Starten Sie dann Ihr Telefon neu.

PS: Vorher können Sie überprüfen, ob der Server verfügbar ist.

http://g.cn/generate_204

Kebin Liu
quelle
Bevorzugen Sie g.cn für Festlandchina
youfu
Ich erhalte einen HTTP-Fehler 404.0 - Nicht gefunden
Lucky
@Lucky Bitte benutze g.cn.
Kebin Liu