Was bewirkt die Option "Aggressive Übergabe von WLAN an Mobilfunk" in den Entwicklereinstellungen?

29

In Android Lollipop 5.0 habe ich festgestellt, dass "Entwickleroptionen" ein Kontrollkästchen für "Aggressive Übergabe von WLAN an Mobilfunk" enthält, das standardmäßig deaktiviert ist. Weiß jemand, was diese Einstellung bewirkt und warum sie standardmäßig deaktiviert und unter den Entwickleroptionen verborgen ist?

ivanatpr
quelle
Nach dem Namen der Option zu urteilen, scheint es, als würde das Telefon bei schlechten WLAN-Signalen glücklicher sein, Mobilfunkdaten zu verwenden
saloalv

Antworten:

26

Der Code shouldSwitchNetwork()erklärt am besten, was es tut. Es reduziert nur künstlich das WiFi-RSSI (Anzeige der empfangenen Signalstärke), um die WiFi-Statusmaschine zu veranlassen, die Verbindung von WiFi zu Mobilfunknetz zu wechseln. Um die Linie 3559 von WifiStateMachine.java ( Linie 4262 für Android 6.0.1_r10):

int rssi = mWifiInfo.getRssi() - 6 * mAggressiveHandover
        + (homeNetworkBoost ? WifiConfiguration.HOME_NETWORK_RSSI_BOOST : 0);

Die Variable mAggressiveHandoverist eine Variable int, die in den Entwicklereinstellungen auf 0 oder 1 festgelegt ist :

private void writeWifiAggressiveHandoverOptions() {
    mWifiManager.enableAggressiveHandover(mWifiAggressiveHandover.isChecked() ? 1 : 0);
}

Die rssiVariable geht weiter zu beeinflussen , wie die Verbindung klassifiziert wird: isBadRSSI, isLowRSSIoder isHighRSSI.

Was den Grund angeht, warum es unter den Entwickleroptionen verborgen ist, würde ich sagen, weil es ein wenig hackisch wirkt, mit einem scheinbar willkürlichen Skalar (6), den sich einige Entwickler ausgedacht haben, um das Verhalten in die gewünschte Richtung zu lenken. Google ist sich wahrscheinlich nicht sicher, welche Konsequenzen diese Einstellung hat und wie sich diese optimal anpassen lässt rssi. Wenn ich mich irre und das irgendwie aussagekräftig ist, gebe ich es gerne zu und erkläre hier warum.

Durch Deaktivieren dieser Einstellung wird die Übergabe von Mobiltelefonen NICHT vollständig deaktiviert . Die WiFi-Verbindung erhält immer noch eine Punktzahl und wird deaktiviert, wenn die Punktzahl zu niedrig ist. Aber hey, die anfängliche Punktzahl wird auch willkürlich festgelegt.

chappjc
quelle
5

Wifi to Cellular Handover ist eine Funktion in Telefonen, die automatisch auf Mobilfunkdaten umschaltet, wenn Sie keine starke WLAN-Verbindung haben. Sie möchten dies aus folgenden Gründen aktivieren:

  • Es spart Batterie - Wenn Ihr Telefon nicht auf Mobilfunkdaten umschaltet, wenn es keine Verbindung zu einer WLAN-Verbindung herstellen kann, sucht Ihr Telefon weiterhin nach WLAN und verwendet daher Batterie.
  • Sie müssen WiFi nicht ausschalten, wenn Sie Ihr Haus verlassen oder wenn Sie keine Verbindung haben, um Daten zu verwenden.
Mario
quelle
1
Deaktiviert die Option "Aggressives WLAN-zu-Mobilfunk-Handover" die Funktion vollständig? oder ändert es einfach das Verhalten, eine höhere Grenze für den Wechsel von WLAN zu Mobilfunk zu haben?
Iwanatpr
-2

Nein, die Funktion wird NICHT vollständig ausgeschaltet, und sie wird auch NICHT durch Aktivieren eingeschaltet. Sie kann NUR in den Einstellungen → Wi-Fi → Wi-Fi-Erweitert-Menü ein- und ausgeschaltet werden (das Dreipunktsymbol oben rechts) Ecke) und die Überprüfung dann auf das Kästchen neben „Smart - Switch“ (Verizon Samsung Galaxy Note 4 Android 5.1.1), da sonst die einzige Sache , dass Sie ehrlich sind über das Entwickler - Menü tun einfach zwingt diese exakt gleiche Option zu arbeiten , wenn / wenn Ihr Telefon erlebt jede Art von Netzwerk „Schluckauf“ , und es in einer Art und Weise vergisst den Netzwerktyp zu ändern. Ich nehme an, Sie könnten es als eine stumpfe oder abrupte Erinnerung an das System ansehen, seine Internetverbindung von Wi-Fi zu Mobilfunkdaten zu ändern und / oder umgekehrt.

Ryan Kelly
quelle
1
Vielen Dank, dass Sie versucht haben , dem OP zu helfen, aber dies wurde vor 1 Jahr gefragt, und Ihre Antwort ist für die Leser schwer nachvollziehbar. Können Sie Ihren Beitrag so bearbeiten, dass Aufzählungszeichen und / oder Codemarkierungen ordnungsgemäß verwendet werden?
Aaron Gillion