gpt4 book ai didi

Android如何通过wifi和手机知道每天上网总流量

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:37:07 24 4
gpt4 key购买 nike

如何知道每天的互联网总数据使用量?

例如,在一天结束时我使用了 800mb,那么它应该像“2015 年 5 月 20 日 800mb 的互联网使用”这样返回。

那么如何检测总数据使用量?

经过多次谷歌搜索后,我只能找到发送和接收字节的数据使用量,但找不到总使用量。

并且还想将使用量分成 wifi 和移动数据。

最佳答案

看看 TrafficStats类(class)。为此,您需要专门查看 getTotalRxBytes() , getTotalTxBytes() , getMobileRxBytes() , 和 getMobileTxBytes() .

快速概览:

getTotalRxBytes = total downloaded bytes
getTotalTxBytes = total uploaded bytes

getMobileRxBytes = only mobile downloaded bytes
getMobileTxBytes = only mobile uploaded bytes

因此,为了只获得 WiFi 相关流量的数量,您只需要获得总数,然后减去移动设备,如下所示:

getTotalRxBytes - getMobileRxBytes = only WiFi downloaded bytes
getTotalTxBytes - getMobileTxBytes = only WiFi uploaded bytes

有了字节数,我们可以换成不同的单位,比如兆字节(MB):

getTotalRxBytes / 1048576 = total downloaded megabytes

至于获取一个时间间隔的使用情况,例如一天,因为这些方法只提供总数(自启动以来),您需要跟踪开始数字然后减去以获取在一个期间使用的字节数间隔。因此,在一天的开始,例如凌晨 12:00:00,您可以跟踪总使用量:

startOfDay = getTotalRxBytes + getTotalTxBytes;

当一天结束时,例如晚上 11:59:59,您可以将这两个数字相减并得到当天的总使用量:

endOfDay    = getTotalRxBytes + getTotalTxBytes;
usageForDay = endOfDay - startOfDay;

总结一下:

  • 使用 TrafficStats 类提供的方法获取互联网使用总数
  • 从总数中减去移动数据以仅获得 WiFi 使用情况
  • 使用转换比率将字节转换为您想要的任何单位
  • 存储一天开始时的使用量,然后减去当天结束时的使用量,得到当天的使用量

关于Android如何通过wifi和手机知道每天上网总流量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26031295/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com