簡體   English   中英

packageManager.getInstalledPackages(0)不會返回所有應用程序

[英]packageManager.getInstalledPackages(0) doesn't return all apps

我正在使用

PackageManager packageManager = getPackageManager();
List<PackageInfo> mApps = packageManager.getInstalledPackages(0);

檢索所有已安裝應用程序的列表。 但是,該列表並不包含所有已安裝的應用程序,某些應用程序(例如Twitter)丟失了。

為了測試這一點,我正在使用

int length = mApps.size();
for(int i=0; i<length; i++){
    PackageInfo info = mApps.get(i);
    Log.i(TAG, "Package: " + info.packageName);
}

com.twitter.android等不在記錄的字符串中,即使它們已安裝在手機上也是如此。

PS:我也嘗試過

Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);
mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);
List<ResolveInfo> mApps = getPackageManager().queryIntentActivities(mainIntent, 0);

其中顯示了Twitter,但(顯然)不會返回無法通過啟動器啟動的進程,例如“下載管理器”或“系統UI”。 我需要一種可靠地返回系統應用程序和第三方應用程序的方法。

這是由我這一邊的錯誤引起的(在滿足特定條件后錯誤地退出了for循環),因此與PackageManager本身或我調用它的方式沒有任何關系。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM