[英]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.