Xamarin 表单 android - google 未找到地图应用
Xamarin forms android - google maps app not found
我有一个 XF android 应用程序可以检查设备上是否安装了 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 和 Google 地图安装为股票应用程序的三星 Galaxy S10 上测试它,并且上面的函数 return false。
如何检查设备上是否安装了该应用程序?
我也尝试过 解决方案,但没有成功。
谢谢。
自 Android 11(API 级别 30)起,大多数用户安装的应用默认不可见。在您的清单中,您必须静态声明您将获取有关哪些应用程序的信息,如下所示:
<manifest package="com.example.game">
<queries>
<package android:name="com.example.store" />
<package android:name="com.example.services" />
</queries>
...
</manifest>
在极少数情况下 <queries>
元素无法提供足够的包可见性,您可以使用 QUERY_ALL_PACKAGES
权限。
更多详情请查看:
https://developer.android.com/training/package-visibility
https://medium.com/androiddevelopers/package-visibility-in-android-11-cc857f221cd9
我有一个 XF android 应用程序可以检查设备上是否安装了 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 和 Google 地图安装为股票应用程序的三星 Galaxy S10 上测试它,并且上面的函数 return false。
如何检查设备上是否安装了该应用程序?
我也尝试过
谢谢。
自 Android 11(API 级别 30)起,大多数用户安装的应用默认不可见。在您的清单中,您必须静态声明您将获取有关哪些应用程序的信息,如下所示:
<manifest package="com.example.game">
<queries>
<package android:name="com.example.store" />
<package android:name="com.example.services" />
</queries>
...
</manifest>
在极少数情况下 <queries>
元素无法提供足够的包可见性,您可以使用 QUERY_ALL_PACKAGES
权限。
更多详情请查看:
https://developer.android.com/training/package-visibility
https://medium.com/androiddevelopers/package-visibility-in-android-11-cc857f221cd9