首页 > 解决方案 > android.content.pm.PackageManager$NameNotFoundException: com.android.chrome

问题描述

我无法仅在 android 11 设备/API 30 中获取 google chrome 应用程序的包信息。让所有设备正常工作

请检查下面提到的代码。

PackageManager pm = context.getPackageManager();
    try {
        pi = pm.getPackageInfo("com.android.chrome", 0);
        value = pi.versionName;
    } catch (PackageManager.NameNotFoundException e) {
        e.toString()
    }

抛出异常:android.content.pm.PackageManager$NameNotFoundException:com.android.chrome

任何帮助,将不胜感激。谢谢

标签: androidandroid-studiogoogle-chrome

解决方案


问题已解决.. 引入 Android 11,Google 更新了安全策略以选择性地单独访问包,而不是获取所有包。

为此需要在清单中添加元素。

https://medium.com/androiddevelopers/package-visibility-in-android-11-cc857f221cd9

 <manifest package="com.example.game">
   <queries>
      <package android:name="com.example.store" />
      <package android:name="com.example.service" />
    </queries>
 </manifest>

推荐阅读