java - Android:如何以编程方式确定 android 中的网络速度
问题描述
连接网络时如何向用户显示慢速互联网连接注意:不是网络类型(2G、3G、4G、WIFI)
解决方案
确定您的网络速度 - (网速慢)
使用 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();
推荐阅读
- python-3.x - 如何设置 django 管理面板不从 aws s3 加载 css,而是从默认值加载?
- python - 如何在numpy中实现两层Keras conv1d?
- python - 移动 auc 曲线的曲线图例
- python - 获取返回空字典的存储 blob 的属性
- mapbox-gl-js - 有没有办法结合两个光栅mapbox layears
- c++ - 存储散列字符串 ID
- r - 如何:在 R 中为 3 个分类变量和一个连续变量创建图?
- html - 使用 jQuery 将另一个 HTML 页面加载到当前 HTML 页面中
- javascript - 将应用程序部署到 Heroku 会引发错误 { path=“/” path=“/favicon.ico” }。但在本地主机上运行
- python - 有没有一种简单的方法可以在 Python/PyMc3 中实现 Normal-inverse-wisart 函数?