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 地理定位插件在 android 设备上不起作用