PackageManager.getInstalledApplications(0);在 Android 7.0

PackageManager.getInstalledApplications(0); in Android 7.0

我的问题是我使用包管理器列出所有已安装的应用程序

final PackageManager pm = parentActivity.getPackageManager();
List<ApplicationInfo> packages = pm.getInstalledApplications(0);

使用这段代码,我可以成功列出 android 其他版本中的所有应用程序,但 Android 7.0 除外(它只列出我正在使用的应用程序),谁能知道这是为什么发生了什么以及如何解决?

试试下面的代码。它对我来说很好用:

final PackageManager pm = getPackageManager();
List<ApplicationInfo> packages = pm.getInstalledApplications(0);

for (ApplicationInfo applicationInfo : packages) {
    Log.d("APP_INFO", "App: " + applicationInfo.name + " Package: " + applicationInfo.packageName);
}

测试于 Android 6、7 和 8

希望这会有所帮助!