android - 在Android上如何统计每日、每周、每月的3G、WiFi上网流量?

标签 android

我最近开始学习android,在我目前的项目中,我需要统计每天、每周、每月的3G 和WiFi 互联网流量。到目前为止,我可以找到:

long totalRecievedBytes = TrafficStats.getTotalRxBytes();
long totalTransmittedBytes = TrafficStats.getTotalTxBytes();
String allTraffic = humanReadableByteCount(totalRecievedBytes + totalTransmittedBytes);
TextView tv = (TextView) findViewById(R.id.traffic_3g_all);
tv.setText(allTraffic);

我见过 netcounter 应用程序,它将所有流量数据写入手机内存。启动时从内存中读取流量数据。

每天、每周、每月收集 3G、WiFi 互联网流量使用信息的方法有哪些?

谢谢, 任何答案表示赞赏。

最佳答案

如果您在这里查看类引用 TrafficStats Android Reference ,系统不会按月、日或周跟踪它,并且某些设备不支持所有这些。因此,您的应用程序需要确定它是否受支持,然后定期读取统计信息并自行跟踪它们。我确实在文档中读到了一种重置统计数据的方法,但我会看看是否有一些硬连接的设置可以重置这个计数器。您可能希望在启动时运行一个服务来收集这些数据,请参阅 Question 学习如何做到这一点。

关于android - 在Android上如何统计每日、每周、每月的3G、WiFi上网流量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10232591/

相关文章:

java - ImageView无法一张一张显示图片

android - ARM Assembler NEON - 提高性能

javascript - 如何将每个选项卡链接到抽屉导航?

java - 闪屏后崩溃

java - 经纬度 : Check whether a given point of LatLng is within a 5km radius of another point

android - Eclipse : "Path for project must have only one segment." 这个是什么意思

android - 使用 GestureDetectorCompat 的奇怪行为

android - 升级到 Android Studio 2.0 后 Gradle 构建过程中出现大量错误

Android以编程方式平铺图像作为背景

Android - 如何制作结合位图的背景图案?