我希望能够实现一个列表视图,展示安卓应用程序及其网络使用情况。为此,首先我需要列出所有的应用程序,我已经使用了PackageManager来完成这个任务,代码如下:
packageManager = getPackageManager();
List<PackageInfo> packageList = packageManager
.getInstalledPackages(PackageManager.GET_META_DATA);
apkList = (ListView) findViewById(R.id.applist);
apkList.setAdapter(new ApkAdapter(this, packageList, packageManager));
但是这段代码列出了所有系统应用程序,例如:Android系统、计算器、日历、状态栏、动态壁纸等,这看起来不太合适。我尝试使用以下方法过滤系统应用程序:
/*To filter out System apps*/
for(PackageInfo pi : packageList) {
boolean b = isSystemPackage(pi);
if(!b) {
packageList1.add(pi);
}
}
但是这段代码只显示已安装的应用程序,例如 WhatsApp、Tango、Foursquare 等。它不会显示 Gmail、Facebook、浏览器、地图等应用程序。 有没有人能建议我如何编写代码,只显示实际使用互联网的应用程序列表。提前感谢!