List<AppInfo> arrayList = new ArrayList<AppInfo>(); List<PackageInfo> list = getPackageManager().getInstalledPackages(0); for (int i = 0; i < list.size(); i++) { PackageInfo packageInfo = list.get(i); AppInfo tmpInfo = new AppInfo(); tmpInfo.appName = packageInfo.applicationInfo.loadLabel( getPackageManager()).toString(); tmpInfo.packageName = packageInfo.packageName; tmpInfo.versionName = packageInfo.versionName; tmpInfo.versionCode = packageInfo.versionCode; tmpInfo.size = Integer.valueOf((int) new File( packageInfo.applicationInfo.publicSourceDir).length()); tmpInfo.appIcon = packageInfo.applicationInfo .loadIcon(getPackageManager()); if ((packageInfo.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) == 0) { arrayList.add(tmpInfo); } }