В Android Lollipop 5.0 я заметил, что в «Параметры разработчика» есть флажок «Агрессивная передача Wi-Fi на сотовую связь», который по умолчанию не установлен. Кто-нибудь знает, что делает этот параметр и почему он отключен по умолчанию и скрыт в параметрах разработчика?
Код shouldSwitchNetwork()
лучше всего объясняет, что он делает. Он просто искусственно уменьшает WiFi RSSI (индикатор уровня принимаемого сигнала), чтобы побудить конечный автомат WiFi принять решение о переключении соединения с WiFi на сотовую сеть. Около строки 3559 файла WifiStateMachine.java ( строка 4262 для Android 6.0.1_r10):
int rssi = mWifiInfo.getRssi() - 6 * mAggressiveHandover
+ (homeNetworkBoost ? WifiConfiguration.HOME_NETWORK_RSSI_BOOST : 0);
Эта переменная mAggressiveHandover
имеет int
значение 0 или 1 в настройках разработчика :
private void writeWifiAggressiveHandoverOptions() {
mWifiManager.enableAggressiveHandover(mWifiAggressiveHandover.isChecked() ? 1 : 0);
}
Переменная rssi
продолжает влиять на то, как классифицируется соединение: isBadRSSI
, isLowRSSI
, или isHighRSSI
.
Что касается того, почему он скрыт в параметрах разработчика, я бы сказал, потому что он кажется немного хакерским, с, казалось бы, произвольным скаляром (6), который придумал какой-то разработчик, чтобы подтолкнуть поведение в желаемом направлении. Google, вероятно, не уверен в последствиях этой настройки и оптимальном способе настройки rssi
. Если я ошибаюсь и это имеет какое-то значение, я с радостью признаю это и объясню здесь, почему.
Отключение этого параметра НЕ отключает сотовую передачу обслуживания полностью . Соединение WiFi по-прежнему получает оценку и отключается, если оценка слишком низкая. Но эй, первоначальный счет тоже устанавливается произвольно.
Wifi to Cellular Handover — это функция телефонов, которая автоматически переключается на сотовые данные, когда у вас нет надежного соединения WiFi. Вы хотели бы включить это по нескольким причинам:
Нет, эта функция НЕ отключается полностью и не включается путем ее включения, ее можно ТОЛЬКО ВКЛЮЧИТЬ/ВЫКЛЮЧИТЬ в меню «Настройки» → «Wi-Fi» → «Расширенное меню Wi-Fi» (значок с тремя точками в правом верхнем углу). угол), а затем установите флажок рядом с «Smart Switch» (Verizon Samsung Galaxy Note 4 Android 5.1.1), в противном случае единственное , что вы честно делаете через меню разработчиков, — это просто заставляете работать эту же самую опцию, если / когда ваш телефон испытывает какой -либо сетевой «сбой» , и он каким-то образом забывает изменить тип сети. Я полагаю, вы могли бы думать об этом как о резком или резком напоминании системе изменить свое интернет-соединение с Wi-Fi на сотовые данные и/или наоборот.
салоалв