android 流量统计
由于自己手机每月只有100M流量 最近总是不够用 所以 想研究一下android的流量统计 这样的话就能随时了解自己使用流量的记录
之初也咨询了一些朋友 发现研究这方面的人比较少
在网上也搜罗到一些资料 最基本的都是这些
TrafficStats类
其中的重要方法有如下:
01
|
static long getMobileRxBytes() //获取通过Mobile连接收到的字节总数,不包含WiFi
|
02
|
static long getMobileRxPackets() //获取Mobile连接收到的数据包总数
|
03
|
static long getMobileTxBytes() //Mobile发送的总字节数
|
04
|
static long getMobileTxPackets() //Mobile发送的总数据包数
|
05
|
static long getTotalRxBytes() //获取总的接受字节数,包含Mobile和WiFi等
|
06
|
static long getTotalRxPackets() //总的接受数据包数,包含Mobile和WiFi等
|
07
|
static long getTotalTxBytes() //总的发送字节数,包含Mobile和WiFi等
|
08
|
static long getTotalTxPackets() //发送的总数据包数,包含Mobile和WiFi等
|
09
|
static long getUidRxBytes( int uid) //获取某个网络UID的接受字节数
|
10
|
static long getUidTxBytes( int uid) //获取某个网络UID的发送字节数
|
备注:TrafficStats类在Android 2.2 API Level(8)之后出现。
但是这些方法 获取到的流量数据都是从手机上次开机到当前的流量使用情况
所以需要准确记录流量数据 就必须监听手机的开机和关机
关机的时候 将数据都存储起来 下次开机后通过以上方法获取到的数据 在叠加上
但是 我发现在这些方法里 就缺少我最需要的那个方法
我想获取某个app接受和发送的 2G/3G流量 不包含wifi 但是这些方法里没有 看来 我需要另外寻找办法了
于是我又去咨询朋友 遇上一个前同事正好在研究这个。 算是帮上我大忙了。
他 给我的建议是 获取流量信息 可以去读取系统文件 /proc/net/dev
/proc/net/xt_qtaguid/stats 这个文件则包含了每个app使用数据的情况 这下算是找到办法了
stats文件大致是这样的
剩下的就是如何去读取这个文件了。
在网上搜了搜
用FileReader来读取文件
DEV_FILE = “/proc/net/xt_qtaguid/stats”
FileReader fstream = null;try {fstream = new FileReader(DEV_FILE);} catch (FileNotFoundException e) {DisplayToast("Could not read " + DEV_FILE);}BufferedReader in = new BufferedReader(fstream, 500);
这样再用while循环去读取in里每行的数据
上图中
这是表头 iface 则代表流量的类型 为rmnet就是2G/3G流量 wlan 是wifi流量
手机 打开wifi的时候 就只有wlan 打开数据的时候 就只有2G/3G
而流量的具体数据 就要获取rx_bytes 和 tx_bytes 这两个字段了
整个表 字段很多 其他的暂时没研究
读取这个文件的时候 我看网上 的办法也都是这样 循环读取每行数据 然后创建很多个数组去保存每行数据
然后 需要的数据 就从相应的数组里去取。
大致研究的结果就是这些
最近因为工作比较忙 就没有继续研究下去了
android 流量统计相关推荐
- Android流量统计TrafficStats类
对于Android流量统计来说在2.2版中新加入了TrafficStats类可以轻松获取,其实本身TrafficStats类也是读取Linux提供的文件对象系统类型的文本进行解析. android.n ...
- android 双卡流量统计,android流量统计
android流量统计 (2012-07-31 12:28:34) 标签: 杂谈 研究过一段时间的android流量统计 发个自己的总结帖 1 android有一个TrafficStats类可以直接获 ...
- android页面统计代码,android流量统计(示例代码)
android.net.TrafficStats类中,提供了多种静态方法,可以直接调用获取,返回类型均为long型,如果返回等于-1代表 UNSUPPORTED 当前设备不支持统计. static l ...
- android 流量统计工具,Android 统计应用流量的使用情况
Android 获取应用流量的使用情况有两种方法 TrafficStats NetworkStatsManager 是Android 6.0(API23)中新增加的类 这次我们使用的是第二种方法,记录 ...
- Android流量统计
项目中需要对Android设备进行流量统计来进行资费结算,所以对Android设备流量统计进行了一些调研.发现流量统计主流上有两种方式 使用系统统计类TrafficStats获取 通过系统文件解析读取 ...
- android 流量统计助手,流量统计 My Data Manager v7.3.1
更新时间:2017-02-19 资费提示:免费版 当前版本:7.3.1 软件语言:中文 软件类别:计费统计 软件大小:7.24 MB 适用固件:2.2及更高固件 内置广告:没有广告 开发商:Mobid ...
- android 流量统计换算,iOS 统计流量信息(转)
在开发中,有时候需要获取流量统计信息.研究发现:通过函数getifaddrs来得到系统网络接口的信息,网络接口的信息,包含在if_data字段中, 有很多信息, 但我现在只关心ifi_ibytes, ...
- android 流量统计不准确_汽车里程表上显示的百公里油耗准确吗?是不是真的是欢乐表...
汽车表显油耗准不准需要根据不同的实际工况来确定,如果是长期保持匀速行驶状态,那么表显油耗更接近实际油耗,但如果是混合工况下.走走停停,那么表现油耗就没准了,而这个时候表显油耗会比实际油耗低,所以表现油 ...
- android 流量统计换算,什么是流量?如何计算流量?流量的单位如何换算
什么是流量?如何计算流量?流量的单位如何换算 上网流量通常用"位"(bit),"字节"(Byte),KB,MB,GB,TB等来表示.它是计算机信息技术用于计量存 ...
最新文章
- c语言编程能控制热风炉,利用C语言设计热风炉悬链线拱顶研究.pdf
- 攻防世界Reverse第七题simple-unpack
- 机器学习中数据预处理的方式
- 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_05 IO字符流_9_JDK7和JDK9流中异常的处理...
- 组态软件专用短信终端
- 木疙瘩动画效果视频学习
- 用python分析股票收益影响因素的方法_Python3对股票的收益和风险进行分析
- word设置多级目录
- 如何在树莓派上进行python编程_树莓派Python编程指南
- 央行 继续实施稳健货币政策适时适度预调微调
- 计算机wps文字基础知识,计算机基础及WPS Office应用常见考试内容
- java加密与解密的艺术.pdf_Java加密与解密的艺术
- html2canvas实现一键截图
- BM27 按之字形顺序打印二叉树
- c++中bitset的用法总结
- AccountManager.createAccount异常
- 996的压力下,程序员还有时间做副业吗?
- vcs -fgp 仿真加速功能
- 兴趣探测的模型化探索
- 腾讯地图关键字智能提示搜索
热门文章
- 品高云生态video:爱数备份系统+品高云=云备份服务
- 微信小商店快递单怎么一键打印;具体操作流程是什么?丨国仁猫哥
- 如何正确挑选建立关键词词库
- ps眼睛糖果滤镜插件:eye candy 7 汉化版(支持ps2021)
- bootstra查阅参考文档
- Ae487 4K分辨率金色闪光粒子沙流动画特效大气高贵晚会宣传开场视频片头ae模板​
- 数说故事车企数字化转型案例分享——内容营销如何促进品牌增长
- iPhone14或仍有刘海,设计、芯片都不变;微信聊天对话框支持放大编辑;Android 13正式版发布|极客头条...
- 三运放构建仪表放大器
- 智能家居弱电布线设计需要注意什么