কোডটি shouldSwitchNetwork()
সর্বোত্তমভাবে এটি কী করে তা ব্যাখ্যা করে। এটি কেবল কৃত্রিমভাবে ওয়াইফাই আরএসআইআই হ্রাস করেছে (সংকেত শক্তির ইঙ্গিত পেয়েছে) ওয়াইফাই রাষ্ট্রের মেশিনকে ওয়াইফাই থেকে সেলুলার নেটওয়ার্কে সংযোগটি স্যুইচ করার সিদ্ধান্ত নিতে উত্সাহিত করে। WifiStateMachine.java এর প্রায় 3559 লাইন ( অ্যান্ড্রয়েড 6.0.1_r10 এর জন্য লাইন 4262 ):
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
।
এটি কেন বিকাশকারী বিকল্পের আড়ালে লুকানো আছে, আমি এটি বলব কারণ এটি কিছুটা হ্যাচিশ বলে মনে হচ্ছে, একটি আপাতদৃষ্টিতে স্বেচ্ছাচারী স্কেলার ()) দিয়ে যে কোনও দেব কাঙ্ক্ষিত দিকের আচরণকে ন্যাজ করতে এসেছিলেন। গুগল সম্ভবত এই সেটিং এর পরিণতি এবং সমন্বয় করার সর্বোত্তম উপায় সম্পর্কে অনিশ্চিত rssi
। যদি আমি ভুল হয়ে থাকি এবং এটি কোনওভাবে অর্থবহ হয় তবে আমি এটি স্বীকার করে এবং কেন তা এখানে ব্যাখ্যা করে খুশি।
এই সেটিংটি বন্ধ করা সেলুলার হ্যান্ডওভার পুরোপুরি বন্ধ করে না । WiFi সংযোগটি এখনও স্কোর পায় এবং স্কোর খুব কম হলে অক্ষম থাকে। তবে ওহে, প্রাথমিক স্কোরটিও নির্বিচারে সেট করা আছে।