Android如何计算网络使用数据包/数据

时间:2012-09-05 13:17:02

标签: java android android-intent network-programming

现在有一天互联网接入非常昂贵。提供商使用的收费就像地狱一样。 我们不使用无限制的互联网计划。这就是为什么我想开发一种能够计算(管理)网络包/数据使用的设施。

假设我已激活5GB数据计划。所以我需要先检查网上冲浪,上传/下载内容。

我知道有些数据提供商提供这些功能。我想通过我的应用程序在我的Android设备上捕获网络数据包。但是我怎么能在我自己的代码中做到这一点。 任何帮助将不胜感激。 谢谢你提前

2 个答案:

答案 0 :(得分:4)

请检查一下。

TextView infoView = (TextView)findViewById(R.id.traffic_info);
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");

infoView.setText(info);

答案 1 :(得分:0)

从APILevel 8开始使用TrafficStats类。 您可以获得每种无线接入技术和每个应用的总体使用情况。

参见http://developer.android.com/reference/android/net/TrafficStats.html 这是所有静态方法,例如调用TrafficStats.getMobileRxBytes()