来自特定应用的Trafficstats

时间:2012-02-19 12:04:15

标签: android network-programming

我正在尝试获取应用程序生成的流量。它包括视频流,我想获取网络使用数据。

我已经将TrafficStats用于Mobile和Total功能。现在我想使用应用程序UID将其设置为工作但我没有设法这样做,因为它总是返回-1。我正在使用Android 2.3.4,这里是代码:

int uid = getApplication().getApplicationInfo().uid;
uid = android.os.Process.myUid();
long txApp = TrafficStats.getUidTxBytes(uid);
long rxApp = TrafficStats.getUidRxBytes(uid);

使用两个uid我在TrafficStats上收到错误(-1)。有什么帮助吗?

1 个答案:

答案 0 :(得分:4)

您的设备似乎不支持TrafficStatsThe documentation州:

  

如果此设备不支持统计信息,则会返回UNSUPPORTED。

TrafficStats.UNSUPPORTED的代码为-1

您可以改为阅读/sys/class/net/日志文件。试试this answer中提供的代码。