美文网首页
流量统计

流量统计

作者: 杨殿生 | 来源:发表于2018-10-16 18:14 被阅读0次

参考 https://blog.csdn.net/w7849516230/article/details/71705835?utm_source=blogxgwz0

TrafficStats类

static long getMobileRxBytes() //获取通过移动数据网络收到的字节总数
static long getMobileTxBytes() //通过移动数据网发送的总字节数
static long getTotalRxBytes() //获取设备总的接收字节数
static long getTotalTxBytes() //获取设备总的发送字节数
static long getUidRxBytes(int uid) //获取指定uid的接收字节数
static long getUidTxBytes(int uid) //获取指定uid的发送字节数

TrafficStats能够获取设备的数据流量和总的网络流量消耗(一般情况下也就得到Wi-Fi下的流量信息);可以查询uid对应的流量信息,而uid可以通过应用的包名查询到,因此能够查询某个应用的流量统计信息(不考虑shareuid)。非常方便的是,它的使用不需要特别的权限。另一方面它也一些限制:
(1)无法获取应用的数据流量消耗
从文档中仅能获取到指定uid的流量,但无法区分不同网络类型下的消耗
间接方法是通过监听网络切换,做好流量记录(但是要保证你的应用一直存活,且一定准确接收到网络切换信息),基本不可用。
(2)无法获取某个时间段内的流量消耗
从API文档中看,函数参数没有与时间相关的信息。而且重要的一点是,TrafficStats类中记录的是设备重启以来的流量统计信息。因为TrafficStats 类,底层还是读取/proc/net/xt_qtaguid/stats 对内容进行解析,将得到对应的结果返回上层。

此类只能统计手机开机后使用流量所以要在关机时使用本地文件存储流量数据,wifi下流量数据要在切换WiFi的时候使用本地文件存储,即在开WiFi的时候记录一次数据,在关闭的时候在获取流量值-开启WiFi时的流量就是WiF使用流量

NetworkStatsManager类

在Android 6.0(API23)中新增加的类,提供网络使用历史统计信息,同时特别强调了可查询指定时间间隔内的统计信息。看看部分函数(非静态):

//查询指定网络类型在某时间间隔内的总的流量统计信息
NetworkStats.Bucket querySummaryForDevice(int networkType, String subscriberId, long startTime, long endTime)
//查询某uid在指定网络类型和时间间隔内的流量统计信息
NetworkStats queryDetailsForUid(int networkType, String subscriberId, long startTime, long endTime, int uid)
//查询指定网络类型在某时间间隔内的详细的流量统计信息(包括每个uid)
NetworkStats queryDetails(int networkType, String subscriberId, long startTime, long endTime)

(1)权限限制
NetworkStatsManager的使用需要额外的权限,”android.permission.PACKAGE_USAGE_STATS”是系统权限,需要主动引导用户开启应用的“有权查看使用情况的应用”(使用记录访问权限)权限,后面会有代码示例。
(2)文档不完善
不好说是文档不全,还是我没找对。首先文档中没有给出类的实例对象的构造方法,一开始还是反射获取的,后来才发现可以通过获取系统服务方式得到。另外queryDetailsForUid函数中设置的时间间隔不太有用,没能及时的获取流量统计信息,而是有两个小时的时间间隔。还好可以在querySummary函数中获得。

相关文章

  • 普通Http接口 & WKWebview & U

    1 统计 普通http 接口 流量2 统计 UIWebView 流量3 统计 WKWebView 流量 (需要 调...

  • 流量统计

    参考 https://blog.csdn.net/w7849516230/article/details/7170...

  • 流量统计

    http://www.cnblogs.com/jukaiit/p/5730228.html

  • 流量统计

    这是我的百度统计入口。暂时还不会用博客整站渲染,只能将统计代码插入某个单独的网页。 百度统计的数据更新有延迟。大怒...

  • 流量统计的作用与重要性

    一,什么是流量统计? 网站流量统计是指通过各种科学的方式,准确的记录来访某一页面的访问者的流量信息。 二,流量统计...

  • 统计手机用户流量日志

    统计手机用户流量日志需求分析 需要统计手机用户流量日志,日志内容实例: 要把同一个用户的上行流量、下行流量进行累加...

  • mysql流量统计

  • android流量统计

    安卓流量统计 1.TrafficStats

  • 网卡流量统计

    "TX":从网卡发出的流量 "RX":网卡接收流量 #watch -n 1 -d ifconfig eth0

  • IOS流量统计

    最近做视频遇到了一个需求就是将流量放在视频上方展示 于是2开始各种百度最后终于解决直接上代码吧 #include....

网友评论

      本文标题:流量统计

      本文链接:https://www.haomeiwen.com/subject/dxehzftx.html