我有以下代码用于获取每个应用程序的流量统计信息:
public void update_list(){
arrayList.clear();
PackageManager _packageManager = getApplicationContext().getPackageManager();
for (ApplicationInfo app : _packageManager.getInstalledApplications(0)) {
String app_name = _packageManager.getApplicationLabel(app).toString();
if(app_name != null) {
long total_bytes= TrafficStats.getUidTxBytes(app.uid);
total_bytes+= TrafficStats.getUidTxBytes(app.uid);
arrayList.add(new ItemView(app_name,(Long.toString(total_bytes) + " bytes")));
}
}
}
我也有一个处理程序来不断更新它:
public Handler handler = new Handler();
public Runnable runnable = new Runnable() {
public void run() {
update_list();
handler.postDelayed(runnable, 5000);
}
};
在我的设备模拟器上运行时,所有应用程序(包括在给定时间未运行的应用程序)的数据为 2 个字节。它甚至没有得到更新。有人可以检查我的代码到底有什么问题吗?