繁体   English   中英

如何在 Cordova/Ionic 项目中添加 Android 意图以打开谷歌地图?

[英]How to add Android intent to open google maps in Cordova/Ionic project?

Android API 30 (Android 11) 需要在应用清单中定义的额外权限才能打开其他应用(在我的例子中是 Google 地图)。 但是,如果<manifest>元素在 Ionic/Cordova 项目中不可用,我如何才能在我的项目中获得此权限? 我有一个config.xml文件,其中列出了 Android 和 iOS 的权限,但我不知道在哪里添加此权限。

其他人表示此 API 更改需要在<manifest>添加权限

在我的 Ionic 5 项目中,我只能编辑一个如下所示的config.xml文件:

    <platform name="android">
        <edit-config file="app/src/main/AndroidManifest.xml" mode="merge" target="/manifest/application" xmlns:android="http://schemas.android.com/apk/res/android">
            <application android:networkSecurityConfig="@xml/network_security_config" />
            <queries>
                <package android:name="com.google.android.apps.maps" />
            </queries>
        </edit-config>
        <resource-file src="resources/android/xml/network_security_config.xml" target="app/src/main/res/xml/network_security_config.xml" />
        <allow-intent href="market:*" />

我已经尝试添加建议的<queries>元素,但这不起作用。 我正在单击 UI 中的地址并使用 Ionic Launch Navigator 插件打开 Google 地图。 它适用于 Android API 29 但不适用于 API 30。

我应该如何添加在 Android 中打开 Google 地图的权限?

window.open(URL)可在 Android 11 上运行以打开 Google 地图,而无需更改权限或 API 密钥。 请参阅帮助文章。

文章解释了如何构建URL以跨平台方式打开谷歌地图,并支持查找位置和导航。 我不必弄乱权限或 AndroidManifest.xml 或 Cordova 元素。

在挖掘过程中,我使用了 Ionic 建议的Launch Navigator插件,它以稍微不同的方式打开 Google 地图,并且由于 Android 11 权限更改,此插件现在需要一个 Intent 权限,我无法弄清楚并放弃了按 URL 启动的格式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM