首页 > 解决方案 > Android:如何以编程方式确定 android 中的网络速度

问题描述

连接网络时如何向用户显示慢速互联网连接注意:不是网络类型(2G、3G、4G、WIFI)

标签: javaandroidkotlin-android-extensions

解决方案


确定您的网络速度 - (网速慢)

使用 NetworkInfo 类、ConnectivityManager 和 TelephonyManager 来确定您的网络类型。

从 Internet 下载任何文件并计算所需时间与文件中的字节数。(唯一可能的方法来确定速度检查)

我已经为我的项目尝试了以下逻辑,您也对此进行了研究,希望对您有所帮助。

ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo netInfo = cm.getActiveNetworkInfo();
    //should check null because in airplane mode it will be null
    NetworkCapabilities nc = cm.getNetworkCapabilities(cm.getActiveNetwork());
    int downSpeed = nc.getLinkDownstreamBandwidthKbps();
    int upSpeed = nc.getLinkUpstreamBandwidthKbps();

推荐阅读