簡體   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