Android: How to determine Network speed in android programmatically

前端 未结 8 1037

How to show a slow internet connection to the user when the network is connected Note: Not a network type (2G,3G,4G, WIFI)

8条回答
  •  -上瘾入骨i
    2020-12-31 09:34

    Check internet speed for mobile network to use this code

    ConnectivityManager connectivityManager = (ConnectivityManager)this.getSystemService(CONNECTIVITY_SERVICE);
    NetworkCapabilities nc = connectivityManager.getNetworkCapabilities(connectivityManager.getActiveNetwork());
    var downSpeed = nc.getLinkDownstreamBandwidthKbps();
    var upSpeed = nc.getLinkUpstreamBandwidthKbps();
    

    If check internet speed for wifi network to use this code

    public int getWifiLevel()
    {
        WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
        int linkSpeed = wifiManager.getConnectionInfo().getRssi();
        int level = WifiManager.calculateSignalLevel(linkSpeed, 5);
        return level;
    }
    

    And more details refer this link

    https://android.jlelse.eu/designing-android-apps-to-handle-slow-network-speed-dedc04119aac

    I hope this can help you!

    Thank You.

提交回复
热议问题