在我的应用程序中,我需要检查WiFi和移动数据的连接速度,然后比较它,然后切换到哪个网络具有最高速度。
请帮帮我。 样本会有所帮助。
答案 0 :(得分:32)
无线上网的:
WifiManager wifiManager = (WifiManager)context.getSystemService(Context.WIFI_SERVICE);
int linkSpeed = wifiManager.getConnectionInfo().getRssi();
如果是移动设备,它应该有效:
TelephonyManager telephonyManager = (TelephonyManager)this.getSystemService(Context.TELEPHONY_SERVICE);
CellInfoGsm cellinfogsm = (CellInfoGsm)telephonyManager.getAllCellInfo().get(0);
CellSignalStrengthGsm cellSignalStrengthGsm = cellinfogsm.getCellSignalStrength();
cellSignalStrengthGsm.getDbm();
然后你应该比较这个信号电平,如果WIFI信号更好保持开启,但如果移动更好断开wifi