Android:如何以编程方式确定 Android 中的网络速度
2022-09-02 03:21:42
如何在网络连接时向用户显示网速较慢 注意:不是网络类型(2G,3G,4G,WIFI)
如何在网络连接时向用户显示网速较慢 注意:不是网络类型(2G,3G,4G,WIFI)
确定您的网络速度 - (慢速互联网速度)
使用 NetworkInfo 类、ConnectivityManager 和 TelephonyManager 来确定您的网络类型。
从互联网上下载任何文件,并计算它花费的时间与文件中的字节数。( 确定速度检查的唯一可能方法 )
我已经为我的项目尝试了以下逻辑,你也研究过这个,希望它能帮助你。
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();
检查移动网络的互联网速度以使用此代码
ConnectivityManager connectivityManager = (ConnectivityManager)this.getSystemService(CONNECTIVITY_SERVICE);
NetworkCapabilities nc = connectivityManager.getNetworkCapabilities(connectivityManager.getActiveNetwork());
var downSpeed = nc.getLinkDownstreamBandwidthKbps();
var upSpeed = nc.getLinkUpstreamBandwidthKbps();
如果检查互联网速度的wifi网络使用此代码
public int getWifiLevel()
{
WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
int linkSpeed = wifiManager.getConnectionInfo().getRssi();
int level = WifiManager.calculateSignalLevel(linkSpeed, 5);
return level;
}
更多详细信息,请参阅此链接
https://android.jlelse.eu/designing-android-apps-to-handle-slow-network-speed-dedc04119aac
我希望这可以帮助你!
谢谢。