计算一个月内app的网络流量统计信息

时间:2018-03-05 10:11:13

标签: android android-networking

我想计算一个月内我的应用的网络使用量/网络流量统计数据。

我可以使用TrafficStats来提供网络流量统计信息,但此类返回的统计信息会在每次重新启动后重置并从零开始。我考虑将统计信息存储在存储中,但我想采用另一种方式。

所以我更改为使用NetworkStatsManager进行计算,但大多数方法都需要API> = 23.

那么我怎么能用低于23的api做到这一点?谢谢。

3 个答案:

答案 0 :(得分:2)

您应该以某个时间间隔保留sqlite中的流量统计数据。并使用关闭之前存储最后一次读数 广播接收者中的行动android.intent.action.ACTION_SHUTDOWN。重新启动后,您应该再次开始存储数据。这样,您就不会丢失数据。该解决方案适用于所有Android版本。

答案 1 :(得分:1)

  

我可以使用TrafficStats提供网络流量统计,但是   此类返回的统计信息重置并从零开始   每次重启。

如何将此数据存储在某处?例如。在SharedPreferences,SQLite数据库或其他地方。之后,您的数据将在重新启动后保留,您可以累积计算结果。

答案 2 :(得分:-1)

即使我们将数据保存在sqlite中,也不必在关闭设备后将值重置为零。在这种情况下,是否要使用我们在重置后得到的值添加先前存储的字节会产生混淆,因为关闭后该值并不总是为零。