Android 中获取网络下载速率的方法
文章目录
- 相关方法如下:
// 获取应用程序的 uid
public static int getAppUid() {int uid = -1;// KmApplication是我的自定义Application,同学们自己根据demo是啥做对应修改即可PackageManager packageManager = KmApplication.getContext().getPackageManager();try {ApplicationInfo applicationInfo =packageManager.getApplicationInfo(BuildConfig.APPLICATION_ID,PackageManager.GET_META_DATA);// The kernel user-ID that has been assigned to this applicationuid = applicationInfo.uid;} catch (Exception e) {e.printStackTrace();}return uid;}public static long lastTotalRxBytes;
public static long lastTimeStamp;/*** 获取网络下载速度* @param uid* @return*/public static int getNetSpeed(int uid) {long nowTotalRxBytes = getTotalRxBytes(uid);long nowTimeStamp = System.currentTimeMillis();long speed = ((nowTotalRxBytes - lastTotalRxBytes) * 1000 / (nowTimeStamp - lastTimeStamp));//毫秒转换lastTimeStamp = nowTimeStamp;lastTotalRxBytes = nowTotalRxBytes;int result = 0;try {result = (int) speed;} catch (Exception e) {}return result;}// Return number of bytes received by the given UID since device boot.
public static long getTotalRxBytes(int uid) {//转为KBreturn TrafficStats.getUidRxBytes(uid)==TrafficStats.UNSUPPORTED ? 0 : (TrafficStats.getTotalRxBytes()/1024);}/*** 下载速度字符串格式化** @param speed* @return*/public static String speedFormat(int speed) {String result;if (speed > 1024) {int partA = speed / 1024;int partB = (speed - partA * 1024) / 100;result = partA + "." + partB + "m/s";} else {result = speed + "kb/s";}return result;}
可以将上面方法放到工具类里。
- 使用如下:
// 在需要获取下载速率的地方调用api获取
speedFormat(getNetSpeed(getAppUid()))
技术永不眠!我们下期见!
Android 中获取网络下载速率的方法相关推荐
- android获取颜色资源,Android中获取颜色的几种方法
Android中获取颜色的几种方法: 通过android封装好的Color类中的常量 public static final int BLACK = 0xFF000000; public static ...
- Android中获取网络图片的三种方法
android中获取网络图片是一件耗时的操作,如果直接获取有可能会出现应用程序无响应(ANR:Application Not Responding)对话框的情况.对于这种情况,一般的方法就是耗时操作用 ...
- android中获取网页cookie的工具方法
1.应用场景 我自己的应用场景是,做一个股票分时图控件demo,需要抓取同花顺网站上的分时图数据,但是这个分时图数据的链接做了cookie校验,直接用httpurlconnection访问,返回403 ...
- Android中获取屏幕物理尺寸的方法
第一种方法 //获取屏幕宽度 int screenWidth = ((WindowManager) context.getSystemService(Context.WINDOW_SERVICE)). ...
- Android中获取流量相关数据的方法
获取流量的相关数据主要使用的是TrafficStats工具类.这里列举一下该类的主要方法. getTotalRxBytes:获取接收流量的总字节数. getTotalTxBytes:获取发送流量的总字 ...
- 【音视频安卓开发 (五)】Android中获取音视频原始数据的方法
一般取得原始数据的方法使用的camera setPreviewCallback
- android apk 的信息,Android中获取apk基本信息
一 PackageManager可以获得的所有包节点信息: 1,所有节点的基类:PackageItemInfo: 2,PackageInfo:package的全面信息,与AndroidManifest ...
- android开发获取imei码,Android中获取IMEI码的方法
我们在开发项目的时候,通常要获取手机的IMEI码,这是开发的必备需求,接下来,爱站技术频道小编就告诉大家Android中获取IMEI码的方法,希望本文的介绍能提高大家的水平. 核心代码:Imei = ...
- android调用音量方法,android中获取当前音量大小
android中获取当前音量大小 (2012-11-07 08:40:41) 标签: it 通过程序获取android系统手机的铃声和音量.同样,设置铃声和音量的方法也很简单! 设置音量的方法也很简单 ...
最新文章
- js中的preventDefault
- mysql分表组件_利用Sharding-Jdbc组件实现分表
- (101)FPGA面试题-Verilog设计偶校验位
- vivo手机充电慢耗电快
- 阶段案例趣PHP网站开发实战,PHP基础案例第16章 阶段案例——趣PHP网站开发实战.ppt...
- 智能制造解决方案举例 智能制造解决方案落地实例
- java close 方法_Java PushbackReader close()方法与示例
- Win10系统edge浏览器b站全屏卡顿的解决方法--win10专业版
- 企业邮箱网页登录入口,网页电子邮箱怎么注册?
- 九、redis的删除机制
- python3可视化-pyecharts图形库,利用Map进行地图的创建和使用
- mysql修改数据库名的方法
- 自动驾驶-自适应卡尔曼滤波AKF
- 2015年3月美国桌面搜索份额:Bing首超20%,谷歌、雅虎均下跌
- 看电子合同从“0”到“1”蜕变之路
- (附源码)springboot幼儿园书刊信息管理系统 毕业设计141858
- 关键信息基础设施确定指南_ISMS-考题答疑:哪些是关键信息基础设施?
- Android官网教你如何系统学习
- 二维数组vector初始化c++
- DHCP_RELAY(Option60与Option82)