我怎样才能获得用户安装的所有应用程序?

时间:2012-07-27 04:50:14

标签: android

如何获取用户安装的所有应用程序?

我想开发一个应用程序,它可以显示用户安装的所有应用程序,但

我不明白如何获得它们。

使用getExternalStorageDirectory()

还是有其他方法吗?

3 个答案:

答案 0 :(得分:0)

试试这个:

 final Intent intent= new Intent(Intent.ACTION_MAIN, null);
 intent.addCategory(Intent.CATEGORY_LAUNCHER);
 final List mylist= context.getPackageManager().queryIntentActivities(intent, 0);

答案 1 :(得分:0)

您可以获得有关已安装的pkg的所有信息:

ArrayList<PackageInfo> res = new ArrayList<PackageInfo>();
PackageManager pm = ctx.getPackageManager();
List<PackageInfo> packs = pm.getInstalledPackages(0);

for(int i=0;i<packs.size();i++) {
    PackageInfo p = packs.get(i);
    String description = (String) p.applicationInfo.loadDescription(pm);
    String  label= p.applicationInfo.loadLabel(pm).toString();
    String packageName = p.packageName;
    String versionName = p.versionName;
    String versionCode = p.versionCode;
    String icon = p.applicationInfo.loadIcon(pm);
//Continue to extract other info about the app...
}

注意:将此权限添加到清单文件中:

<uses-permission android:name="android.permission.GET_TASKS" />

答案 2 :(得分:0)

你可以参考这个post它做了类似的事情......你可能需要修改它,因为它过滤了系统应用程序......