Wie kann man Android 6 dazu zwingen, sich automatisch mit einem Netzwerk ohne Internetzugang zu verbinden?

Ich habe in meinem Auto ein Hifiberry (Himbeere + DAC-Schild) eingerichtet, das über einen drahtlosen Zugangspunkt verfügt. Ich benutze mein altes Sony Z3 Compact als Headunit. Mit Runaudio können Sie all dies ganz einfach tun. Die Himbeere ist jedoch nur ein Zugangspunkt, es gibt kein Modem, also hat sie keinen Internetzugang.

Normalerweise stellt das Telefon automatisch eine Verbindung zu Netzwerken her, aber in diesem Fall steht in den WLAN-Optionen „kein Internetzugang, keine automatische Verbindung“. Ich muss es jedes Mal manuell verbinden.

Gibt es eine Möglichkeit, dass es sich automatisch verbindet, obwohl kein Internetzugang besteht?

Dies scheint seltsam, da Android sich unabhängig vom Internetzugang automatisch mit gespeicherten Netzwerken verbinden soll. Andernfalls versuchen Sie, das Netzwerk zu vergessen und die Verbindung erneut herzustellen
Ich kann später einen Screenshot hinzufügen, wenn Sie don8
Ich glaube mir. Es sagt, dass es sich nicht automatisch verbindet, weil es keinen Internetzugang gibt.
Oh wirklich, lassen Sie mich sehen, ob sich mein Gerät genauso verhält, ich werde mich bei Ihnen melden
Herausgefunden! Ich denke, das Telefon erkennt es als Captive Portal
Die Schnittstelle für Runaudio ist eine Webseite, Runaudio ist das Betriebssystem, das auf dem Pi läuft, also würde das Sinn machen. Wo kannst du es reproduzieren? Ich werde scresnie in 30 Minuten hochladen.
Wie kann ich also eine automatische Verbindung herstellen? Es muss einen einfachen Weg mit einer Automatisierungs-App geben, bei Google konnte ich jedoch nichts finden.

Antworten (1)

Wie hier schon erwähnt seit Android 5, wenn sich das Gerät verbindet. Wi-Fi-Netzwerk Es sendet eine schnelle HTTP-Anfrage, um zu prüfen, ob es Zugang zum Internet hat.

Diese Überprüfung erfolgt beispielsweise mit clients3.google.com/generate_204, einer „Webseite“, die immer einen HTTP-Statuscode 204 No Content| . Thus, if the device receives a 204 zurückgibt, wenn sie mit dem Internet verbunden ist, andernfalls geht sie davon aus, dass dieses Netzwerk keinen ordnungsgemäßen Internetzugang bietet oder nur ein Captive-Portal ist.

Die wahrscheinlichste Lösung besteht darin, die Captive-Portal-Erkennung zu deaktivieren, und es gibt eine Vielzahl von Möglichkeiten, dies zu erreichen:

  1. Verwendung von AdAway zur Verhinderung des HTTP-Lecks (Blockierung der URL)

    • Konfiguration von AdAway, die die Captive-Portal-Erkennung von Google blockiert.

# captive portal

 127.0.0.1   clients3.google.com

 127.0.0.1   clients.l.google.com
  1. Deaktivieren Sie die Captive-Portal-Erkennung

Mit einem gerooteten Telefon können Sie die Captive-Portal-Erkennung einfach deaktivieren. Holen Sie sich einfach eine Root-Shell über adb (oder SSH usw.), um den folgenden Befehl auszuführen:

settings put global captive_portal_detection_enabled 0

Siehe auch diese verwandte Frage: Wie deaktiviere ich die Captive-Portal-Erkennung? Wie entferne ich das Ausrufezeichen auf dem WLAN- oder Signalsymbol in Lollipop?

  1. Ändern Sie den Server für die Captive-Portal-Erkennung mit AdAway

    Eine weitere Option zum Ändern des Erkennungsservers für das Captive Portal besteht darin, seine IP-Adresse in eine zu ändern, die unter Ihrer Kontrolle steht.

Das geht zum Beispiel mit AdAway. Nehmen wir an, Ihr Captive Portal Detection Server hat die IP-Adresse 5.189.140.231, dann können Sie Folgendes zu Ihrer AdAway-Konfiguration hinzufügen:

5.189.140.231 clients3.google.com
5.189.140.231 clients.l.google.com

Der Webserver unter 5.189.140.231sollte dann natürlich Anfragen für die fremden Domains annehmen.

Weitere Problemumgehungen finden Sie hier

Das ist großartig! Jederzeit :)