0

我正在使用 phonegap 3.0 编写一个 android 和 iphone 应用程序。

到目前为止,我只使用 phonegap build 远程编译应用程序。

现在我正在尝试将地理定位插件添加到我的应用程序中,并且在 iphone 中很容易,因为我只需要修改 config.xml 文件。

<feature name="Geolocation">
    <param name="ios-package" value="CDVLocation" />
</feature>

到目前为止一切顺利,问题是在向android添加地理位置时,文档表明我设置了以下配置:

(in app/res/xml/config.xml)
<feature name="Geolocation">
    <param name="android-package" value="org.apache.cordova.GeoBroker" />
</feature>


(in app/AndroidManifest.xml)
<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" />

但我没有 AndroidManifest.xml 文件。我可以使用以下方法生成完整的 android 应用程序:

cordoba platform add android

但我不确定这是否是我应该做的。是我应该做的吗?或者有一种方法可以在不生成整个 android 项目的情况下添加地理位置?

4

2 回答 2

2

我有点困惑,因为您说您使用的是 phonegap 3.0,并且您还提到了 phonegap-build(最高为 2.9)。如果您实际上正在使用 phonegap-build,那么您唯一需要的就是在您的 config.xml 中:

<feature name="http://api.phonegap.com/1.0/geolocation"/>
于 2013-09-12T18:53:44.590 回答
0

我有同样的问题。我的地理位置在 IOS 上有效,但在 Android 上无效。所以我添加到 config.xml

<feature name="http://api.phonegap.com/1.0/geolocation"/>

正如 Dom 所解释的那样。这还不够。我想逐步分享我所做的事情,因为我浪费了大约 18 小时的开发时间来寻找解决方案。

然而,这并没有解决问题。所以我使用我的 IDE 添加了插件。在此处输入图像描述

这将以下内容添加到配置中:

<plugin name="cordova-plugin-geolocation" version="2.2.0" />

然后我进入了插件目录下的 plugin.xml。 在此处输入图像描述

在此处输入图像描述

并查看是否添加了以下内容。

 <!-- android -->
    <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" />
        </config-file>

...

是的,所以我重新启动了设备。(在他们说的离子论坛上,这可能会有所帮助)重新安装应用程序时,我检查了权限。它被添加了。所以对于最后一张照片的坏 Q,但我用我的相机拍了一张照片。希望这可以帮助

在此处输入图像描述

于 2016-08-05T08:54:06.103 回答