繁体   English   中英

Android获取所有已安装应用的列表

[英]Android get a list of all installed apps

我已使用以下代码获取已安装应用的列表:

public List<ResolveInfo>() {
    PackageManager pm=getPackageManager();
    Intent main=new Intent(Intent.ACTION_MAIN, null);

    main.addCategory(Intent.CATEGORY_LAUNCHER);

    List<ResolveInfo> launchables=pm.queryIntentActivities(main, 0);

}

只有一个问题:它只列出具有MAIN活动的应用程序。 如何获取所有已安装应用的列表? 请注意,我在需要List为ResolveInfo的项目中使用此代码,因此请仅回答返回ResolveInfo列表的代码。

你尝试过:

 List<ApplicationInfo> packages = pm
            .getInstalledApplications(PackageManager.GET_META_DATA);

(在这里找到)

你的问题没有意义; 你提出了一些不合理的要求。 您说您想要所有已安装应用的列表,但您还需要一个ResolveInfo对象List ResolveInfo文档将ResolveInfo描述为:

从解析针对IntentFilter的意图返回的信息。

Apps和IntentFilter不会一对一关联。 你希望ResolveInfo对象包含什么? 如果一个包装不止一个,你想要哪一个?

PackageManager确实包含一个方法getInstalledApplications ,但它返回一个ApplicationInfo对象的List ,这是一种更适合这种查询的类型。 同样,还有一个getInstalledPackages方法,它返回一个PackageInfo对象的List

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM