Android监控网络使用情况

时间:2015-10-20 13:55:36

标签: android

我的Android客户端和服务器都在我的本地PC上运行。我的客户端是eclipse中的一个活动(项目),而我的服务器是同一台PC中的一个jar文件。我使用模拟器作为我的客户端,并使用Wi-Fi或有时LAN连接到服务器。我使用ipconfig获取的IP配置我的客户端,因此它是本地环境。 (当通过Wi-Fi连接时,我使用WLAN IP和LAN,我使用eth0)。

我正在监控客户端发送和接收的rxtx数据。我正在使用这个:

int uid = android.os.Process.myUid();
long tx=TrafficStats.getUidTxBytes(uid);
long rx=TrafficStats.getUidRxBytes(uid);

我始终将此rxtx值设为-1

我也在使用这段代码:

String info = "";

            info += "Mobile Interface:\n";
            info += ("\tReceived: " + TrafficStats.getMobileRxBytes() + " bytes / " + TrafficStats.getMobileRxPackets() + " packets\n");
            info += ("\tTransmitted: " + TrafficStats.getMobileTxBytes() + " bytes / " + TrafficStats.getMobileTxPackets() + " packets\n");

            info += "All Network Interface:\n";
            info += ("\tReceived: " + TrafficStats.getTotalRxBytes() + " bytes / " + TrafficStats.getTotalRxPackets() + " packets\n");
            info += ("\tTransmitted: " + TrafficStats.getTotalTxBytes() + " bytes / " + TrafficStats.getTotalTxPackets() + " packets\n");

            Log.d("hi", "Netwrk" + info);

我的TrafficStats.getMobileRxBytes()TrafficStats.getMobileTxBytes()0TrafficStats.getTotalRxBytes()TrafficStats.getTotalTxBytes()-1

为什么-1始终如此?是因为客户端(模拟器)和服务器都在同一台PC上?

1 个答案:

答案 0 :(得分:1)

我刚刚找到了答案。返回的值-1表示模拟器中的TrafficStatsUNSUPPORTEDTrafficStats functions always return -1中的类似讨论也是如此。