我正在尝试使用TrafficStats获取移动数据使用情况。
例:
mobileDataUsage = TrafficStats.getMobileRxBytes() +TrafficStats.getMobileTxBytes()
totalUsage = TrafficStats.getTotalRxBytes()+ TrafficStats.getTotalTxBytes()
在少数设备中,它工作绝对正常。在Nexus 5X中,我得到了totalUsage,但mobileDataUsage始终为0,TrafficStats.getMobileRxBytes()
和TrafficStats.getMobileTxBytes()
始终返回0。
您很可能看到 https://code.google.com/p/android/issues/detail?id=78924 中描述的问题。
TrafficStats的文档说,返回的字节"自设备启动以来总是单调增加",但至少Android 5-7确实不是这种情况。通常,这些方法返回 0,然后突然开始从它们以前拥有的数字开始计数。