在Android Lollipop 5.0中,我注意到“开发人员选项”具有“从积极的Wi-Fi到蜂窝移动切换”复选框,默认情况下未选中该复选框。有谁知道此设置的作用以及为什么默认情况下将其禁用并隐藏在开发人员选项下吗?

评论

从选项名称来看,似乎选中此选项会使手机在WiFi信号不好时更乐于使用蜂窝数据。

#1 楼

shouldSwitchNetwork()的代码可以最好地说明其功能。它只是人为地减少了WiFi RSSI(接收信号强度指示),以鼓励WiFi状态机决定将连接从WiFi切换到蜂窝网络。围绕WifiStateMachine.java的3559行(Android 6.0.1_r10的4262行):

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


变量mAggressiveHandover是由开发人员设置为0或1的int设置:

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


rssi变量继续影响连接的分类方式:isBadRSSIisLowRSSIisHighRSSI

关于原因它被隐藏在开发人员选项下,我想说这是因为它似乎有点骇人听闻,有些开发人员想出了一个随意的标量(6)来按期望的方向微调行为。 Google可能不确定此设置的后果以及调整rssi的最佳方法。如果我错了并且这在某种意义上是有意义的,那么我很乐意承认并在这里解释原因。
关闭此设置不会完全关闭蜂窝切换。 WiFi连接仍然会获得分数,如果分数太低,则会被禁用。但是嘿,初始分数也是任意设置的。

#2 楼

Wifi到蜂窝移动切换是电话中的一项功能,当您没有牢固的WiFi连接时,该功能会自动切换到蜂窝数据。您可能出于以下几个原因启用此功能:


它可以节省电池-如果您的手机在无法连接到Wifi连接时没有切换到蜂窝数据,则您的手机手机将继续搜索WiFi,从而使用电池。
当您离开家或没有连接以使用数据时,您将不必关闭WiFi。


评论


那么关闭“积极的Wi-Fi到蜂窝移动切换”功能是否会完全关闭该功能?还是只是简单地改变了行为,以使何时从wifi切换到蜂窝电话具有更高的截止频率?

– ivanatpr
2014年12月11日下午21:27

#3 楼

不,它不会完全关闭该功能,也不会通过启用它来将其打开,只能在设置→Wi-Fi→Wi-Fi高级菜单中将其打开/关闭(右上角的三个点图标角落),然后选中“智能开关”(Verizon Samsung Galaxy Note 4 Android 5.1.1)旁边的框,否则,您诚实地通过开发人员菜单所做的唯一一件事情就是,如果//当您的电话遇到任何类型的网络“打cup”时,它会忘记更改网络类型。我想您可以将它视为系统的钝器或突然提醒,以将其Internet连接从Wi-Fi更改为蜂窝数据,反之亦然。

评论


感谢您尝试帮助OP,但这是1年前提出的要求,您的答案很难被读者理解。您可以编辑帖子以正确使用项目符号和/或代码标记吗?

–亚伦·吉利恩(Aaron Gillion)
16年2月19日在20:01