Cordova 地理定位插件有时不工作

Posted

技术标签:

【中文标题】Cordova 地理定位插件有时不工作【英文标题】:Cordova geolocation plugin not working sometimes 【发布时间】:2017-08-15 17:07:12 【问题描述】:

我正在 android 上开发一个严重依赖 gps 插件功能的应用程序,但是在对 gps 进行 2 次调用后,它就停止工作了。我需要打开谷歌地图才能使插件再次工作。

我正在三星 J1 和华为 G5 (android 5.1.1)、cordova v7.0.0 和地理定位插件版本 2.4.2 上进行测试

【问题讨论】:

【参考方案1】:

我在另一个问题中找到了解决方案,检查一下here

感谢user2147549,感谢他。

这就是我的情况:

在cordova v5.3.3,你需要这样做:

1、cordova插件移除cordova-plugin-geolocation

2、cordova插件添加cordova-plugin-geolocation

3、将你的插件目录中的cordova-plugin-geolocation目录复制到e:\

4、编辑plugin.xml,添加:

<js-module src="www/Coordinates.js" name="Coordinates">
    <clobbers target="Coordinates" />
</js-module>

<js-module src="www/PositionError.js" name="PositionError">
    <clobbers target="PositionError" />
</js-module>

<js-module src="www/Position.js" name="Position">
    <clobbers target="Position" />
</js-module>

<js-module src="www/geolocation.js" name="geolocation">
    <clobbers target="navigator.geolocation" />
</js-module>

<config-file target="res/xml/config.xml" parent="/*">
    <feature name="Geolocation">
        <param name="android-package" value="org.apache.cordova.geolocation.GeoBroker"/>
    </feature>
</config-file>

<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>

5、cordova插件移除cordova-plugin-geolocation

6、cordova插件添加e:\cordova-plugin-geolocation

7、cordova run android now,我的gps定位很好。感谢吴中华。

【讨论】:

【参考方案2】:

原来这个问题可以通过使用旧版本的插件来解决。

在我的情况下,我只需要 cordova 应用程序就可以在 android 上运行,所以没问题。

您需要像这样将 gps 插件添加到您的项目中:

cordova plugin add org.apache.cordova.geolocation@0.3.6

【讨论】:

以上是关于Cordova 地理定位插件有时不工作的主要内容,如果未能解决你的问题,请参考以下文章

ng-cordova 地理定位插件在通知栏中不显示 GPS 图标

Cordova 地理定位插件问题

请求权限地理定位插件cordova

Cordova 地理定位插件在 android 设备上不起作用

Cordova 地理定位插件无法从 Android 的 GPS 获取位置

cordova android 6.3.0 的相机和地理定位插件问题