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

Android 如何获取用户安装的所有应用程序?,android,Android,如何获取用户安装的所有应用程序 我想开发一个应用程序,可以显示用户安装的所有应用程序,但 我不知道怎么弄到它们 是否使用getExternalStorageDirectory() 还是有其他方法 试试这个: final Intent intent= new Intent(Intent.ACTION_MAIN, null); intent.addCategory(Intent.CATEGORY_LAUNCHER); final List mylist= context.getPackageM

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

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

我不知道怎么弄到它们

是否使用
getExternalStorageDirectory()


还是有其他方法

试试这个:

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

您可以获得有关已安装软件包的所有信息:

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...
}
ArrayList res=new ArrayList();
PackageManager pm=ctx.getPackageManager();
列表包=pm.getInstalledPackages(0);

对于(int i=0;i你可以参考它,它做了类似的事情…你可能需要修改一下它,因为它过滤掉了系统应用程序的…。

我假设这是安卓系统,用这个函数名?请标记它。在Windows机器上,或者在Mac机顶盒上,或者在Symbian手机上,你所问的非常不同。也许阅读这个问题-答案可能是h帮助你
<uses-permission android:name="android.permission.GET_TASKS" />