답변:
코드는 그 기능을 shouldSwitchNetwork()
가장 잘 설명합니다. WiFi 상태 시스템이 WiFi에서 셀룰러 네트워크로 연결을 전환하도록 결정하기 위해 WiFi RSSI (수신 된 신호 강도 표시)를 인위적으로 줄입니다. 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
: 변수는 연결이 분류 방법의 영향에 간다 isBadRSSI
, isLowRSSI
또는 isHighRSSI
.
왜 개발자 옵션 아래에 숨겨져 있는지에 관해서는 약간의 해킹처럼 보이기 때문에 일부 개발자가 원하는 방향으로 동작을 조금씩 움직일 수있는 임의의 스칼라 (6)가 있기 때문입니다. Google은이 설정의 결과와 최적의 조정 방법에 대해 잘 모릅니다 rssi
. 내가 틀렸고 이것이 어떻게 든 의미가 있다면, 그것을 인정하고 이유를 설명해 드리겠습니다.
이 설정을 해제 해도 셀룰러 핸드 오버가 완전히 해제 되지는 않습니다 . WiFi 연결은 여전히 점수를 받고 점수가 너무 낮 으면 비활성화됩니다. 그러나 초기 점수는 임의로 설정됩니다.
Wifi to Cellular Handover는 강력한 WiFi 연결이 없을 때 셀룰러 데이터로 자동 전환하는 전화기의 기능입니다. 몇 가지 이유로이 기능을 사용하려고합니다.
아니요, 기능을 완전히 끄지 않거나 기능을 활성화하여 켜거나 끌 수 없습니다. 설정 → Wi-Fi → Wi-Fi 고급 메뉴 (오른쪽 상단에있는 3 개의 점 아이콘)에서만 켜거나 끌 수 있습니다 코너)를 선택한 다음 '스마트 스위치'(Verizon Samsung Galaxy Note 4 Android 5.1.1) 옆의 확인란을 선택합니다. 그렇지 않으면 개발자 메뉴를 통해 정직하게 수행 하는 유일한 작업은 동일한 동일한 옵션을 강제로 수행하는 것입니다. 휴대 전화에 발생한 경우 어떤 유형의 네트워크를 "딸꾹질" 그것은, 그리고 방법의 네트워크 유형을 변경 잊는다. 난 당신이 가정 수 셀룰러 데이터에 와이파이에서 인터넷 연결을 변경할 수있는 시스템에 무딘 또는 갑작스러운 알림으로 생각, 및 / 또는 그 반대의 경우도 마찬가지입니다.