En shouldSwitchNetwork()
iyi kod ne yaptığını açıklar. WiFi durum makinesini, bağlantıyı WiFi'den hücresel ağa çevirmeye karar vermeye teşvik etmek için WiFi RSSI'yi (alınan sinyal gücü göstergesi) yapay olarak azaltır. WifiStateMachine.java'ın 3559 hattı civarında ( Android 6.0.1_r10 için 4262 numaralı hat ):
int rssi = mWifiInfo.getRssi() - 6 * mAggressiveHandover
+ (homeNetworkBoost ? WifiConfiguration.HOME_NETWORK_RSSI_BOOST : 0);
Değişken mAggressiveHandover
, Geliştirici Ayarları tarafından 0 veya 1int
olarak ayarlanmış bir değerdir :
private void writeWifiAggressiveHandoverOptions() {
mWifiManager.enableAggressiveHandover(mWifiAggressiveHandover.isChecked() ? 1 : 0);
}
rssi
: Değişken bağlantı sınıflandırılır nasıl etki devam ediyor isBadRSSI
, isLowRSSI
ya da isHighRSSI
.
Geliştirici seçenekleri altında neden gizlendiğine gelince, biraz garip göründüğü için, rastgele bir skalarla (6) bazı davranışların istenen yöne davranışını dürtmek için ortaya çıktıkları söylenebilir. Google muhtemelen bu ayarın sonuçlarından ve ayarlamanın en uygun yolundan emin değildir rssi
. Eğer hatalıysam ve bu bir şekilde anlamlıysa, kabul etmekten ve burada nedenini açıklamaktan mutlu olurum.
Bu ayarın kapatılması , hücresel geçişi tamamen KAPATMAYIR . WiFi bağlantısı hala bir puan alıyor ve puan çok düşükse devre dışı bırakılıyor. Ancak hey, ilk puan da keyfi olarak belirlendi.