【发布时间】:2012-07-23 18:22:51
【问题描述】:
如何在列表中使用此方法从列表中过滤掉系统包?
我目前有这个方法:
public static List<ApplicationInfo> getInstalledApplication(Context context) {
PackageManager packageManager = context.getPackageManager();
List<ApplicationInfo> apps = packageManager.getInstalledApplications(0);
Collections.sort(apps, new ApplicationInfo.DisplayNameComparator(packageManager));
return apps;
}
过滤掉系统包的方法:
private boolean isSystemPackage(ResolveInfo ri){
return ((ri.activityInfo.applicationInfo.flags&ApplicationInfo.FLAG_SYSTEM)!=0)?true:false;
}
【问题讨论】:
-
首先,三元运算符在那里没用。只需返回
((ri.activityInfo.applicationInfo.flags&ApplicationInfo.FLAG_SYSTEM)!=0。所以你有那个方法......很好。问题是……? -
但我需要返回系统包,但使用我的 collections.sort 方法
-
比较器只知道如何根据您定义的顺序进行排序。为什么不发布您如何尝试删除这些项目的完整代码?
标签: android list listview filter system