繁体   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