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

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

In manchen Situationen ist das nervig. Sagen wir, in China ist Google blockiert, das Ausrufezeichen wird immer da sein, was nichts bedeutet.

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

Antworten (3)

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

settings put global captive_portal_detection_enabled 0

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

settings get global captive_portal_detection_enabled

Eine Antwort von „Null“ zeigt an, dass der globale Schlüsselwert nicht festgelegt wurde und Android auf die Standardeinstellung zurückgreift, bei der es eingeschaltet ist und die Erkennung durchführt. Wenn die Erkennung deaktiviert ist, wird die Antwort "0" empfangen.

Weitere Informationen: Android: So entfernen Sie die „Captive Portal“-Erkennung auf Android 4.2.2 und 4.3

Es funktioniert auch in 5.

Groß! Ich stelle fest, dass der Link dies in 4.2.2 und 4.3 beschreibt. Haben Sie (oder jemand anderes) überprüft, ob dies auch in 5.0.x funktioniert?
@SimonW ja, es funktioniert. Deshalb habe ich die Frage Lollipop getaggt. Ich verwende allerdings CyanogenMod 12.
Kommentar von Gery , dem der Repräsentant dafür fehlt: Für diejenigen, die das Terminal zum ersten Mal verwenden, vergessen Sie nicht, den Befehl "su" vor irgendetwas zu setzen, um Superuser-Berechtigungen zuzulassen. (Es hat eine Weile gedauert, bis ich herausgefunden habe, warum ich "Erlaubnis verweigert" bekomme.) Danach hat es wie ein Zauber funktioniert.
Beginnend mit Nougat (ich denke, es könnte nur 7.1.2 oder bereits Marshmallow sein), verwenden Sie settings put global captive_portal_mode 0stattdessen, siehe jira.lineageos.org/browse/REGRESSION-620
Um diese Einstellung zu schreiben, müssen Sie möglicherweise (Android >= 8?) SELinux zuerst auf permissive setzen: su; setenforce 0; setting put ....
Funktioniert das mit Android 10? Ich möchte nicht riskieren, mein Gerät zu mauern

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

Bei WiFi-Netzwerken zeichnet es nicht nur ein Ausrufezeichen auf das Stärkesymbol, es wird diese SSID von der automatischen Wiederverbindung auf die schwarze Liste setzen, wenn curldie in der angegebene URL nicht erfolgreich captive_portal_server globalüber diese SSID erreicht wird. Die manuelle Wiederverbindung ist zulässig, bleibt aber nur dann verbunden, wenn Sie captive_portal_detection_enabledjedes Mal, wenn Sie sich mit dieser WLAN-SSID verbinden, manuell „Dieses Netzwerk unverändert verwenden“ auswählen. Diese Überschreibung ist vorübergehend.

Bei Netzen von Mobilfunkanbietern wird das captive_portal_servernur verwendet, um ein Ausrufezeichen auf das Stärkesymbol zu zeichnen, bleibt aber verbunden, und der Datenverkehr fließt, wenn die Verbindung funktioniert.

Auf Ihrem gerooteten Gerät besteht die Lösung darin, es wieder zu aktivieren, captive_portal_detection_enabledwenn Sie es deaktiviert haben, sich mit diesem WLAN-Netzwerk zu verbinden, „Dieses Netzwerk unverändert verwenden“ aus dem Dropdown-Menü im Captive-Portal-Popup auszuwählen und Ihr mobiles Netzwerk zu deaktivieren Daten, um sich darauf zu konzentrieren, eine Website zu bestimmen, die über Ihr WLAN-Netzwerk abgerufen werden kann, indem Sie sich bei Ihrem Captive-Portal anmelden und dann einen Browser verwenden, um eine funktionierende zu finden. Danach können Sie deaktivieren captive_portal_detection_enabled, um das lästige Popup zu verhindern.

Um Ihr captive_portal_detection, wenn Sie es zuvor deaktiviert haben, wieder zu aktivieren, geben Sie den Befehl ein:

settings put global captive_portal_detection_enabled 1

Deaktivieren Sie Ihr mobiles Netzwerk (unter Einstellungen – Datennutzung – Mobile Daten – Aus), um das Telefon zu zwingen, vorübergehend das WLAN-Netzwerk für den gesamten Datenverkehr zu verwenden. Dies ist nicht erforderlich, sobald Sie alle Ihre Einstellungen dort haben, wo sie sein müssen.

Android M scheint eine Website zu erfordern, die erfolgreich lädt und nicht aktiv eine 204 (kein Inhalt) zurückgibt.

Einige Optionen beinhalten, 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 einen gefunden haben, der für Ihr WiFi-Netzwerk funktioniert (erfordert oft mehr Vorstellungskraft und Versuche hinter Unternehmens-Web-Gateway-Proxys, die HTTPS-Verkehr nicht mögen, vor der Authentifizierung), 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 diejenige 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, besteht der letzte Schritt darin, das Captive-Portal-Popup zu deaktivieren, das eine der unglücklichsten Erfindungen dieses Jahrzehnts ist.

Befehl ausgeben:

settings put global captive_portal_detection_enabled 0

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

Meinten Sie HTTP 204 ( kein Inhalt ) oder HTTP 404 (nicht gefunden)? Derzeit habe ich aufgrund einer anderen Antwort auf "kein Inhalt" geändert
Dies löste das Problem "verbunden, kein Internet" auf Nougat. Frisch geflashtes CM14.1 (7.1.2) auf Nexus ausführen.

Sie können Ihre Captive-Portal-Serveradresse darauf einrichten.

settings put global captive_portal_server g.cn

Starten Sie dann Ihr Telefon neu.

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

http://g.cn/generate_204