我觉得我现在正在服用疯狂的药丸。我的应用程序的特定部分已经运行了好几天,今天它刚刚停止工作,我不知道为什么。我的这部分代码用于输出自启动以来每个特定应用程序发送和接收的总数据。现在,这些值始终显示为 0。
可能会或可能不会影响这一点的几件事:
1.) 我的 Nexus 4 今天刚刚更新到 Android 4.3,但我怀疑这是一个问题,因为在我更新后它工作得很好。
2.) 随着 Android API 18 的更新,Traffic Stats API 中的一些方法现在已被弃用,但这些方法我什至没有使用,所以这应该没有效果。 http://developer.android.com/reference/android/net/TrafficStats.html
非常感谢所有帮助。
PackageManager packageManager=this.getPackageManager();
List<ApplicationInfo> appList=packageManager.getInstalledApplications(0);
for (ApplicationInfo appInfo : appList) {
String appLabel = (String) packageManager.getApplicationLabel(appInfo);
int uid = appInfo.uid;
Log.d("data", String.valueOf(TrafficStats.getUidRxBytes(uid) + TrafficStats.getUidTxBytes(uid)));
更新[2014 年 1 月 23 日]:在运行 Android 4.4.2 的 Nexus 4 上测试 getUidRxBytes() 和 getUidTxBytes() 显示值不再为 0,但报告的统计数据正确。