获得系统安装 的应用程序的信息(名称,icon,版本号。。),过滤掉系统本身的应用,主要方法如下。。
private void getSoftList(){
List<PackageInfo> packs= SoftwareList.this.getPackageManager().getInstalledPackages(0);
int count = packs.size() - 1;
for (int i = 0; i <= count; i++) {
PackageInfo p = packs.get(i);
if (p.versionName == null) {
continue;
}
ApplicationInfo itemInfo = p.applicationInfo;
if ((itemInfo.flags & ApplicationInfo.FLAG_SYSTEM) != 0)
continue;
AppInfo app=new AppInfo();
app.appName=p.applicationInfo.loadLabel(getPackageManager()).toString().trim();
app.appIcon=p.applicationInfo.loadIcon(getPackageManager());
app.packageName=p.packageName;
app.versionCode=p.versionCode;
app.versionName=p.versionName;
Softpacks.add(app);
}