TrafficStats.getUidRxBytes(ProcessUID)随机返回“-1”?

时间:2012-06-01 13:45:42

标签: java android

我正在尝试读取正在运行的应用程序生成的流量。我非常想获得每个进程的网络使用数据。

TrafficStats.getUidRxBytes(ProcessUID);有时会返回正确的结果,但有时会返回“-1”。如果我理解正确,在上述情况下返回TrafficStats.UNSUPPORTED,我不明白,为什么?我认为UNSUPPORTED标志意味着运行设备获取数据的能力不同,并且不以任何方式绑定到某个进程。

        Integer ProcessUID = ProcessListData.get(i).getUID();
        Long RxBytes = TrafficStats.getUidRxBytes(ProcessUID);
        Long TxBytes = TrafficStats.getUidTxBytes(ProcessUID);

我正在运行Android 2.3.3。谢谢!

1 个答案:

答案 0 :(得分:0)

“ - 1”表示TrafficStats.UNSUPPORTED

请参阅以下链接,可能对您有所帮助

Can someone explain how TrafficStats works its magic in the Android OS?