现在有一天互联网接入非常昂贵。提供商使用的收费就像地狱一样。 我们不使用无限制的互联网计划。这就是为什么我想开发一种能够计算(管理)网络包/数据使用的设施。
假设我已激活5GB数据计划。所以我需要先检查网上冲浪,上传/下载内容。
我知道有些数据提供商提供这些功能。我想通过我的应用程序在我的Android设备上捕获网络数据包。但是我怎么能在我自己的代码中做到这一点。 任何帮助将不胜感激。 谢谢你提前
答案 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()