16

我正在使用一个包含 Web 服务内容的应用程序。

因为我需要知道网速低时的状态。如何在 Android 中找到互联网速度级别?

例如,如果我在手机中使用 2Mbps 连接,当它慢到 50Kbps 时,我需要通过 Toast 或 Alert 来注意这种情况。

谢谢。

4

3 回答 3

11

如果您已连接,WiFi您可以使用以下方法找到连接速度WifiManager

WifiInfo wifiInfo = wifiManger.getConnectionInfo();

然后从WifiInfo你可以得到当前的速度:

int speedMbps = wifiInfo.getLinkSpeed();

如果您使用 3G,我认为没有标准的查找方法,也许您可​​以自动假设 3G 很慢。

于 2012-08-03T13:37:23.933 回答
0

这专门用于通过 facebook sdk检测互联网连接速度

ConnectionQuality cq = ConnectionClassManager.getInstance().getCurrentBandwidthQuality();
于 2015-11-01T10:10:15.150 回答
0

这是连接到 wifi 时获取互联网速度的代码。

WifiManager wifiManager = (WifiManager) 
    this.getSystemService(Context.WIFI_SERVICE);

List<ScanResult> wifiList = wifiManager.getScanResults();
for (ScanResult scanResult : wifiList) {
    int level = WifiManager.calculateSignalLevel(scanResult.level, 5);
    String net=String.valueOf(level);
   // Toast.makeText(MainActivity.this,net,Toast.LENGTH_LONG).show();

}

// Level of current connection.here rssi is the value of internet speed whose value
// can be -50,-60 and some others,you can find the speed values easily on internet.

int rssi = wifiManager.getConnectionInfo().getRssi();
int level = WifiManager.calculateSignalLevel(rssi, 5);
String net=String.valueOf(rssi);
Toast.makeText(MainActivity.this,net,Toast.LENGTH_LONG).show();

// -100 is the minimum speed value of your internet.
if(rssi < -100) {
    slowInternet=false;
}
于 2017-10-07T04:57:22.083 回答