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