在移动和wifi连接上检查android的网络速度最简单的方法是什么?有没有比从网络下载文件并在此基础上手动执行某些计算更好的解决方案。
答案 0 :(得分:1)
您可以检查WiFi是否可以使用互联网连接。 如果它在WiFi上不可用,那么您可以要求用户禁用WiFi或更改WiFi设置。
另一种方法是手动获取WiFi和移动网络的信号强度:
获得WiFi的信号强度:
WifiManager wifiManager = (WifiManager) this
.getSystemService(Context.WIFI_SERVICE);
int wifiSpeed = wifiManager.getConnectionInfo().getRssi();
Log.d("SignalStrength", "wifi" + wifiSpeed);
获得Mobile的信号强度:
MyPhoneStateListener MyListener = new MyPhoneStateListener();
TelephonyManager Tel = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
Tel.listen(MyListener, PhoneStateListener.LISTEN_SIGNAL_STRENGTHS);
让信号强度改变的听众:
private class MyPhoneStateListener extends PhoneStateListener {
/*
* Get the Signal strength from the provider, each time there is an
* update
*/
@Override
public void onSignalStrengthsChanged(SignalStrength signalStrength) {
super.onSignalStrengthsChanged(signalStrength);
Log.d("SignalStrength", "GSM" + String.valueOf(signalStrength
.getGsmSignalStrength());
}
};
您可以获取更新的信号值并将其放入共享首选项,然后将其与WiFi信号值进行比较。
WiFi信号值范围从-100到0。
0意味着良好的力量,-100意味着弱。
移动信号强度值来自(0-31,99)。
0表示低,31表示良好。
99未知或无法检测到。