Android统计流量方法
来源:互联网 发布:淘宝帮忙跑腿 编辑:程序博客网 时间:2024/06/06 02:59
最近好久没写博客了,原因是公司的工作太忙了。但是因为忙,所以能遇到很多问题,这里,我就遇到了一个之前不知道的问题,其实说来也不难。
因为公司是做播放器业务相关的,某一天,运营突然说要统计每次播放所消耗的流量,听到这个消息,我当时是懵逼的,怎么统计?播放器提供这个api不?
看了播放器源码,发现没有(也可能有,只是我没有找到),突然发现android的手机设置里面有统计,难不成android系统自带?百度一下发现,果不其然。
Android对流量的统计通过一个TrafficStats类可以直接获取,而且可以区分是手机流量还是总的流量,但是这些获取的流量都是从一次开机到读取时刻的统计量,要统计播放一次的流量,需要将开始和结束2个值相减。下面是我写的一个列子:
先获取下当前已使用的流量:
startMobileRx = TrafficStats.getMobileRxBytes(); startMobileTx = TrafficStats.getMobileTxBytes(); startTotalRx = TrafficStats.getTotalRxBytes(); startTotalTx = TrafficStats.getTotalTxBytes();
结束的时候再获取一下:
long totalRx = (TrafficStats.getTotalRxBytes() - startTotalRx) / 1000; long totalTx = (TrafficStats.getTotalTxBytes() - startTotalTx) / 1000; long mobileRx = (TrafficStats.getMobileRxBytes() - startMobileRx) / 1000; long mobileTx = (TrafficStats.getMobileTxBytes() - startMobileTx) / 1000;
打印下日志:
Log.i(TAG, "所有网络方式接收的字节流量总数=" + totalRx + "KB" + "\n所有网络方式发送的字节流量总数=" + totalTx + "KB" + "\n手机通过 2G/3G/4G 接收的字节流量总数=" + mobileRx + "KB" + "\n获取手机通过 2G/3G/4G 发出的字节流量总数=" + mobileTx + "KB");
所有网络方式接收的字节流量总数=2137KB所有网络方式发送的字节流量总数=60KB 手机通过 2G/3G/4G 接收的字节流量总数=0KB 获取手机通过 2G/3G/4G 发出的字节流量总数=0KB
项目里面需要的是所有网络接口的字节流量,所以就出来结果了,大家也可以试试直接用4g网试试。
这里再把统计方法api都提供出来:
** 获取手机通过 2G/3G 接收的字节流量总数 */ TrafficStats.getMobileRxBytes(); /** 获取手机通过 2G/3G 接收的数据包总数 */ TrafficStats.getMobileRxPackets(); /** 获取手机通过 2G/3G 发出的字节流量总数 */ TrafficStats.getMobileTxBytes(); /** 获取手机通过 2G/3G 发出的数据包总数 */ TrafficStats.getMobileTxPackets(); /** 获取手机通过所有网络方式接收的字节流量总数(包括 wifi) */ TrafficStats.getTotalRxBytes(); /** 获取手机通过所有网络方式接收的数据包总数(包括 wifi) */ TrafficStats.getTotalRxPackets(); /** 获取手机通过所有网络方式发送的字节流量总数(包括 wifi) */ TrafficStats.getTotalTxBytes(); /** 获取手机通过所有网络方式发送的数据包总数(包括 wifi) */ TrafficStats.getTotalTxPackets(); /** 获取手机指定 UID 对应的应程序用通过所有网络方式接收的字节流量总数(包括 wifi) */ TrafficStats.getUidRxBytes(uid); /** 获取手机指定 UID 对应的应用程序通过所有网络方式发送的字节流量总数(包括 wifi) */ TrafficStats.getUidTxBytes(uid);
1 0
- Android统计流量方法
- android流量统计
- android 流量统计
- Android流量统计代码
- android流量统计
- 关于android流量统计
- android流量统计
- Android统计流量 代码
- Android流量统计
- Android流量统计
- android 流量的统计
- android 流量的统计
- android 流量统计
- android流量统计
- android App流量统计
- android 数据流量统计
- android流量统计
- Android流量统计知识点
- mapreduce创建solrcloud索引
- 程序员面试金典——解题总结: 9.17中等难题 17.12设计一个算法,找出数组中两数之和为指定值的所有整数对。
- JS console常用的方法
- Dubbo学习笔记(四)------策略
- 1.4集成开发环境简介
- Android统计流量方法
- How to shrink an LVM Logical Volume
- dao层数据库查询操作
- 动态规划,多重背包,保存路径,用完全背包的方法做多重背包(Charlie's Change,poj 1787)
- [ZJU1517] 素数问题
- win32用npmw安装nodejs
- c# Regex正则表达式
- POJ1679-判断MST是否唯一
- 【matlab】./和/ .*和* 有什么区别