【问题标题】:Xamarin forms android - google maps app not foundXamarin 表单 android - 找不到谷歌地图应用程序
【发布时间】:2021-11-08 13:57:05
【问题描述】:

我有一个 XF 安卓应用程序,用于检查设备上是否安装了 Google 地图应用程序。

在 Android 11 之前我使用了这个代码:

 public static bool IsAppInstalled(string packageName)
 {
      PackageManager pm = MainActivity.AppInstance.PackageManager;
      bool installed;
      try
      {
          pm.GetPackageInfo(packageName, PackageInfoFlags.Activities);
          installed = true;
      }
      catch (PackageManager.NameNotFoundException)
      {
          installed = false;
      }
          return installed;
      }
  }

packageName == "com.google.android.apps.maps"。

现在我在装有 Android 11 并安装了谷歌地图作为股票应用程序的三星 Galaxy S10 上对其进行测试,上述函数返回 false。

如何检查设备上是否安装了该应用?

我也尝试过this 解决方案,但没有运气。

谢谢。

【问题讨论】:

    标签: google-maps xamarin.forms xamarin.android


    【解决方案1】:

    自 Android 11(API 级别 30)起,大多数用户安装的应用默认不可见。在您的清单中,您必须静态声明您将获取有关哪些应用程序的信息,如下所示:

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

    &lt;queries&gt; 元素无法提供足够的包可见性的极少数情况下,您可以使用QUERY_ALL_PACKAGES 权限。

    更多详情,请查看:

    https://developer.android.com/training/package-visibility

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

    【讨论】:

    • 谢谢!有用!使用低版本的Android可以正常工作吗?
    猜你喜欢
    • 2014-10-29
    • 1970-01-01
    • 1970-01-01
    • 2023-03-21
    • 1970-01-01
    • 2015-09-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多