gpt4 book ai didi

android - 如何编写服务来跟踪 android 设备上的 gprs 数据使用情况

转载 作者:行者123 更新时间:2023-11-29 17:57:55 24 4
gpt4 key购买 nike

我想在 android 中编写一个服务,它将在后台跟踪数据使用情况。当捕获数据使用事件时,我会将详细信息保存在本地数据库中。

我在 android 中阅读了 TrafficStats 类,但它只会在 Activity 开始时检查一次。我想要持续运行的后台进程。

我什至找到了一个示例项目 - https://github.com/commonsguy/cw-andtuning/tree/master/TrafficMonitor

如帖子中所述 - How to measure data usage of my app

提前致谢。

最佳答案

您需要执行以下操作:

  • 创建一个将存储数据使用值的本地数据库。

  • 启动一个连续/定期运行的服务来计算/重新计算数据使用量。

  • 服务计算数据使用量后,将数据添加到您的数据使用表中。

创建本地数据库可以引用这个tutorialsqlite

这是启动服务的方法Creating a Service in Android

编辑

如果使用了任何新数据,则无法收到通知。您必须使用持续或定期运行的服务定期检查它。

您可以使用以下代码来计算使用量:

int UID=Process.myUid();
long recived = TrafficStats.getUidRxBytes(UID);
long send = TrafficStats.getUidTxBytes(UID);

您可以根据需要使用的其他功能是:

long initialRX = TrafficStats.getTotalRxBytes();// recieved
long initialTx = TrafficStats.getTotalTxBytes();// sent
long initialMobRX = TrafficStats.getMobileRxBytes();
long initialMobTx = TrafficStats.getMobileTxBytes();

请记住 TrafficStats 返回一个累积值。因此您必须减去初始值才能知道使用增量

另外只要进程被终止,TrafficStats 计数器就会重置。例如,当手机关机时。因此,您必须添加代码来处理它。

相关链接:
TrafficStats Api android and calculation of daily data usage

关于android - 如何编写服务来跟踪 android 设备上的 gprs 数据使用情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17989962/

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