如何计算android中每个应用程序的移动和wifi数据使用情况?

2023-11-22

有没有可能使用 TrafficStats': (getUidRxBytes,getUidTxBytes, getTotalRxbytes, getTotalTXbytes, getMobileRxBytes,getMobileTxBytes) 方法来计算 android 中每个应用程序的移动和 wifi 使用情况?我知道一定有某种方法可以做到这一点,因为 3G 看门狗和其他一些应用程序提供了这些详细信息。

有人可以帮忙吗?谢谢


我已经为此类问题写过类似的答案here。要获取每个应用程序的总体数据使用情况,使用您命名的方法相当容易,TrafficStats.getUidTxBytes(int) and TrafficStats.getUidRxBytes(int)。然而,目前还没有公开侵入移动和Wifi。

正如我在其他答案中提到的,您必须深入研究内部框架 API 并尝试复制其中使用的一些方法。你肯定需要使用NetworkTemplate.buildTemplateWifiWildcard() and NetworkTemplate.buildTemplateMobileWildcard()为了检索正确的NetworkStats对于每个接口。一旦你拥有了NetworkStats对象您将能够获取您的信息。请注意:如果您在公共应用程序中使用它,则使用内部 API 是very每当 Google 决定更新它们时,它们都可能会崩溃。

编辑:作为另一个提示,您应该查看“设置”应用程序如何显示每个应用程序的流量并通过移动/Wifi 将其分开的来源。特别是你可以在这里看看他们的ChartDataLoader,特别是方法collectHistoryForUid() and loadInBackground()

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何计算android中每个应用程序的移动和wifi数据使用情况? 的相关文章

随机推荐