Расчет скорости интернета в android



Я работаю с приложением, которое содержит веб-сервисные вещи.



В этом мне нужно знать состояние, когда скорость интернета низкая. Как узнать уровень скорости интернета в Android?



Например, рассмотрим, если я использую соединение 2 Мбит / с в моем мобильном телефоне, и когда оно замедляется до 50 кбит / с, мне нужно заметить эту ситуацию, сделав тост или предупреждение.



Спасибо.

521   4  

4 ответов:

Если вы подключены к WiFi, Вы можете найти скорость соединения с помощью WifiManager :

WifiInfo wifiInfo = wifiManger.getConnectionInfo();

А затем из WifiInfo Вы можете получить текущую скорость:

int speedMbps = wifiInfo.getLinkSpeed();

Если вы находитесь на 3G, я не думаю, что есть стандартный способ узнать, возможно, вы можете автоматически предположить, что 3G является медленным.

Для этого нет стабильного решения, но я нашел Этот исходный код приложения, который может помочь вам получить скорость интернета.

Это специально для определения скорости интернет-соединения с помощью Facebook sdk

ConnectionQuality cq = ConnectionClassManager.getInstance().getCurrentBandwidthQuality();

Это код для получения скорости вашего интернета при подключении к Wi-Fi.

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;
}

Comments

    Ничего не найдено.