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

Mai*_*dul 7 java android network-programming android-intent

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

假设我已经激活了5GB的数据计划.所以我需要先检查网上冲浪,上传/下载的东西.

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

Mai*_*dul 5

请检查一下。

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);
Run Code Online (Sandbox Code Playgroud)


Phi*_*ami 0

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

请参阅http://developer.android.com/reference/android/net/TrafficStats.html 都是静态方法,例如调用 TrafficStats.getMobileRxBytes()