Wie entscheidet Android Marshmallow, welchem ​​WLAN-Netzwerk automatisch beigetreten wird?

Zum Beispiel habe ich zwei Netzwerke:

  • Zwei Netzwerke – ein offenes Hotspot-Netzwerk und ein geschlossenes privates Netzwerk mit WPA.
  • Der Benutzer hat Zugriff auf beide Netzwerke
  • Der Benutzer hat sich kürzlich mit beiden verbunden.
  • Beide Netze haben die gleiche Signalstärke.

Welchem ​​Netzwerk wird automatisch beigetreten? Ist es zufällig?

nein es ist nicht zufällig. normalerweise wird die Verbindung mit sicherem WPA gewählt. Dies hängt jedoch nicht nur von einer Bedingung ab, sondern es werden viele andere Faktoren wie Datenverkehr, Geräteverfügbarkeit usw. berücksichtigt.
Ich habe eine große, fette Antwort für Sie geschrieben und leider habe ich versehentlich mein Telefon neu gestartet, sodass es weg ist, wenn Sie mit dem Kommentar oben nicht zufrieden sind, sagen Sie mir, ich werde es noch einmal schreiben oder jemand anderes wird es tun
@Spark Ich hatte auf eine fette Antwort oder eine Google-Dokumentation gehofft :)

Antworten (2)

Es gibt diese Datei /data/misc/wifi/wpa_supplicant.conf

Jedes von Ihnen gespeicherte Netzwerk wird dort aufgelistet.

Wenn mehrere Netzwerkblöcke in dieser Konfigurationsdatei aufgeführt sind, wird der Block mit der höchsten Priorität zur Verwendung ausgewählt oder, wenn mehrere Netzwerke mit derselben Priorität identifiziert werden, wird der erste Block verwendet, der in der Konfigurationsdatei aufgeführt ist.

(Kopie von http://www.freebsd.org/cgi/man.cgi?wpa_supplicant.conf(5) , ich denke, Android verhält sich genauso)

Es gibt etwas namens Wi-Fi-Priorität, das für einige Telefone in einstellbar ist Settings - WiFi - Advanced - Wi-Fi priority, und auch über einige Apps und Xposed-Module wie GravityBox. Android verwaltet diese Liste der gespeicherten Zugriffspunkte und weist jedem von ihnen Prioritäten zu.

Ich kann keine offizielle Definition finden, wie die Prioritäten (neu) zugewiesen werden (Android-Entwickler sagen mir nur, dass Priorität vorhanden ist ), aber anscheinend, wenn Sie 2 erinnerte APs empfangen und mit einem von ihnen verbunden sind, verbinden Sie sich dann mit dem anderen, Letzterer erhält eine Prioritätserhöhung.

Ich habe jedoch keine Ahnung, wie sich "private" Netzwerke auf die Funktionsweise auswirken.