问题描述
该应用具有使用Maps SDK内置的Google Map。轻按“地图工具栏”上的图标之一,即可启动外部“地图”应用。
在targetSDKVersion = 29之前,外部Maps应用程序的启动一直运行良好。 当targetSDKVersion = 30时,启动失败,并且屏幕显示以下消息: Google Maps未安装或已禁用。
那是为什么?
解决方法
我在Google地图开发人员关系部门工作。此问题是由于Android 11中引入的程序包可见性要求引起的。您可以here了解更多信息。本质上,您的应用需要在AndroidManifest.xml
中声明其正常运行所需的所有软件包。
要解决此问题,您需要将Google Maps包“ com.google.android.apps.maps”添加为AndroidManifest.xml
<queries>
条目中的条目:
<manifest package="com.your.package">
<queries>
<package android:name="com.google.android.apps.maps" />
</queries>
...
</manifest>
您还可以参考我们的sample。