android - PackageManager.getInstalledApplications(0);在安卓 7.0

标签 android android-7.0-nougat android-package-managers

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

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

使用这段代码,我可以成功列出除 Android 7.0 之外的其他 android 版本中的所有应用程序(它只列出我正在使用的应用程序),任何人都可以知道为什么会这样,并且如何解决?

最佳答案

试试下面的代码。它对我来说工作正常:

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 上测试

希望这会有所帮助!

关于android - PackageManager.getInstalledApplications(0);在安卓 7.0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50530554/

相关文章:

android - 由 PackageManager.DONT_KILL_APP 引起的不可预测的行为

java - "How are"Android 应用程序(Facebook 等)安装到 Android 手机?

java - 将 JSON 对象数组反序列化为 Java 中的根对象?

android - 自定义抽屉布局

Android - 互联网广播流媒体

android-7.0-nougat - 在 android 7 上的后台跟踪 GPS 位置

android.os.FileUriExposedException : file:///storage/emulated/0/test. txt 通过 Intent.getData() 暴露在应用程序之外

java - Firebase数据库 : Model is missing a constructor with no arguments

android - 检查多窗口支持

安卓包管理器 : check if a library APK has been installed