android2.2 TrafficStats.getUidRxBytes返回值为什么一直为

android2.2 TrafficStats.getUidRxBytes返回值为什么一直为,第1张

1对于Android流量统计来说在22版中加入了TrafficStats类可以轻松获取,其实本身TrafficStats类也是读取Linux提供的文件对象系统类型的文本进行解析。androidnetTrafficStats类中,提供了多种静态方法,可以直接调用获取,返回类型均为long型,如果返回等于-1代表 UNSUPPORTED 当前设备不支持统计。

2

3 static long getMobileRxBytes() //获取通过Mobile连接收到的字节总数,这里Android123提示大家不包含WiFi

4 static long getMobileRxPackets() //获取Mobile连接收到的数据包总数

5 static long getMobileTxBytes() //Mobile发送的总字节数

6 static long getMobileTxPackets() //Mobile发送的总数据包数

7 static long getTotalRxBytes() //获取总的接受字节数,包含Mobile和WiFi等

8 static long getTotalRxPackets() //总的接受数据包数,包含Mobile和WiFi等

9 static long getTotalTxBytes() //总的发送字节数,包含Mobile和WiFi等

10 static long getTotalTxPackets() //发送的总数据包数,包含Mobile和WiFi等

11

12 static long getUidRxBytes(int uid) //获取某个网络UID的接受字节数

13 static long getUidTxBytes(int uid) //获取某个网络UID的发送字节数

14

15 最后Android开发网再次提醒开发者,TrafficStats类工作在Android 22 API Level为8的固件上。

1、获取已安装app

List<PackageInfo> packageInfos = packageManagergetInstalledPackage(PackageManagerGET_PERMISSIONS);

2、循环对每个app判断是否有申请INTERNET权限,有则继续执行

for (PackageInfo packageInfo : packageInfos) {

    if (packageInforequestedPermissionscontains("androidpermissionINTERNET")) {

        //执行第3步的获取

    }

}

3、获取该app的名字以及上传/下载流量统计(先获取该app在整个手机中的专属    id:uid,再通过TrafficStats的get方法获取)

4、将获取到的全部数据记录到自定义的javabean,然后集合到list集合中,最后在listview中设置适配器,将数据显示出来。

22之后引入了一个新的 androidnetTrafficStats类可以做到网络流量统计,可以统计总流量也可以统计单个进程的流量。

对于Android流量统计来说在22版中加入了TrafficStats类可以轻松获取,其实本身TrafficStats类也是读取Linux提供的文件对象系统类型的文本进行解析。androidnetTrafficStats类中,提供了多种静态方法,可以直接调用获取,返回类型均为long型,如果返回等于-1代表 UNSUPPORTED 当前设备不支持统计。

static long getMobileRxBytes() //获取通过Mobile连接收到的字节总数,但不包含WiFi

static long getMobileRxPackets() //获取Mobile连接收到的数据包总数

static long getMobileTxBytes() //Mobile发送的总字节数

static long getMobileTxPackets() //Mobile发送的总数据包数

static long getTotalRxBytes() //获取总的接受字节数,包含Mobile和WiFi等

static long getTotalRxPackets() //总的接受数据包数,包含Mobile和WiFi等

static long getTotalTxBytes() //总的发送字节数,包含Mobile和WiFi等

static long getTotalTxPackets() //发送的总数据包数,包含Mobile和WiFi等

static long getUidRxBytes(int uid) //获取某个网络UID的接受字节数

static long getUidTxBytes(int uid) //获取某个网络UID的发送字节数

1、获取已安装app

List<PackageInfo> packageInfos = packageManagergetInstalledPackage(PackageManagerGET_PERMISSIONS);

2、循环对每个app判断是否有申请INTERNET权限,有则继续执行

for (PackageInfo packageInfo : packageInfos) { if (packageInforequestedPermissionscontains("androidpermissionINTERNET")) { //执行第3步的获取 }}

3、获取该app的名字以及上传/下载流量统计(先获取该app在整个手机中的专属 id:uid,再通过TrafficStats的get方法获取)

4、将获取到的全部数据记录到自定义的javabean,然后集合到list集合中,最后在listview中设置适配器,将数据显示出来。

以上就是关于android2.2 TrafficStats.getUidRxBytes返回值为什么一直为全部的内容,包括:android2.2 TrafficStats.getUidRxBytes返回值为什么一直为、如何实现android累计流量统计、Android如何统计一个进程的流量消耗呢等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9489941.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存