如何在 config.xml 中添加 GeoLocation-Permissions

How to add GeoLocation-Permissions in config.xml

我想设置 androids 权限以在 config.xml 中使用地理定位。

我不想使用 cordova-plugin-geolocation 这会将这些设置设置为副作用,因为我定位的 webviews(人行横道)支持 GeoLocation盒子。该插件只是英国媒体报道软件。

我不想直接在 AndroidManifest.xml 中写它,因为我正在使用 cordova prepare 来防止我的存储库中有任何平台特定的东西.目前,每个人都可以从头开始构建平台,而无需来自我们的 git-repo 的任何平台特定内容。

我试过的

我查看了 cordova-plugin-geolocation 以了解他们如何实现这一点。

<platform name="android">
    <config-file target="AndroidManifest.xml" parent="/*">
      <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
      <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
      <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
    </config-file>
</platform>

这 returns 以下是我的构建阶段

Error: Command failed: /bin/sh -c cordova build android
/Users/sven/.../cordova/platforms/android/build/intermediates/res/armv7/debug/xml/config.xml:34: error: Error parsing XML: unbound prefix

我的下一步是什么

我不确定为什么 'rob-from-cordova-plugin-geolocation'-方法不起作用,但将上面的内容放入新插件中可能会有所帮助?值得一试吗?

您的错误是 "unbound prefix",您是否提供了在 "android:name" 中使用的 "android" 前缀的定义?

查看 cordova-plugin-geolocation plugin.xml 您可能需要将其添加到您的 XML:

xmlns:android="http://schemas.android.com/apk/res/android"

以便定义 android 命名空间。

通过将插件 cordova-custom-config 添加到您的环境,您将能够直接从 CLI config.xml 在 Cordova 中添加权限(以及许多其他额外的配置操作)。它不会在您的应用程序中添加任何内容,仅包含一组 Cordova 挂钩。

因此,仅在 config.xml (<config-file...) 中添加 XML 夹头,并添加@SimonPrickett 在他的回答中所说的内容。