Android 5上的地理定位插件的速度为“null”

Android 5中的速度值始终为null.我们用这些:

>核心:科尔多瓦 – 5.1.1
>平台:Cordova-Android 4.0.2
>插件版本:1.0.1
>设备:三星Galaxy S4(A5.0.1),Nexus 5(A5.1.1),LG G3 Stylus D690(A5.0.2).

我们在更新到Android 5之后立即遇到此问题.

虽然在Android 4和iOS上仍然可以正常工作.我们尝试了getCurrentPosition和watchPosition – 没有运气.高精度是真的.

我们必须使用getCurrentPosition实现Android 5的解决方法(而不是为其他操作系统完美地使用watchPosition),这在很多时候导致计算某些时间间隔的速度高达400 km / h,同时计算总体上或多或少的准确速度.

>我们缺少Android 5的任何权限吗?
>我们可以做些什么来解决这个问题?

我们希望为所有平台使用一个代码,并保持使用watchPosition,因为它运行良好.

>有什么建议吗?这是一个已知的问题?

相关说明:Cordova与Galaxy设备一般存在任何已知的错误/问题吗?
谢谢!

解决方法

当选项enableHighAccuracy设置为true(默认值)时,navigator.geolocation.getCurrentPosition()仅检查GPS.
您可以将enableHighAccuracy设置为false.
{enableHighAccuracy:false,maximumAge:Infinity,timeout:60000}

您可能需要以下权限

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

希望能帮助到你.

相关文章

Android 如何解决dialog弹出时无法捕捉Activity的back事件 在...
Android实现自定义带文字和图片的Button 在Android开发中经常...
Android 关于长按back键退出应用程序的实现最近在做一个Andr...
android自带的时间选择器只能精确到分,但是对于某些应用要求...