android – 融合位置GPS在打开谷歌地图之前不会更新

前端之家收集整理的这篇文章主要介绍了android – 融合位置GPS在打开谷歌地图之前不会更新前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在我的应用程序中使用融合位置提供程序,以60秒的间隔设置为PRIORITY_HIGH_ACCURACY.这通常有效,但有时位置本身不会更新5到10分钟,而当我打开谷歌地图时,它似乎会触发位置更新.

这里的任何其他人可能遇到过这个问题,或者知道这种行为背后的可能原因?有没有什么办法解决这一问题?

解决方法

Gps并不总是返回一个位置,即使它可以通过FusedLocationProvider api或LocationManager LocationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)获得.特别是,如果你在室内,根据你设备的Gps芯片,不太可能从Gps获得位置.必须修复Gps才能返回位置.

您可以编写一个测试应用程序,其中包含带有Gps,Wifi和GpsStatusListener的LocationManager,以检查卫星计数,修复中的卫星和卫星信号强度,并同时将其与FusedLocationProvider进行比较,并将提供的位置添加到地图中作为标记.你也可以寻找FL000的Location.getExtras(),其中可能包含有关卫星的信息.即使LocationManager Gps可用且卫星计数为2,我也无法从Gps获取位置.

图像中的Hello World应该是Gps位置,但由于尚未修复,因此未返回.
测试可能无法解决您的问题,但您可以比较您获得位置的情况,或者您不能比较它可能需要使用3颗卫星从Gps获取位置或最小信号强度. Gps锁定并且GpsStatusListener上的状态在锁定时设置为GpsStatus.GPS_EVENT_FIRST_FIX也可能需要很长时间.我需要大约5分钟Gps来修复并返回一个位置.我还用地图编写了另一个测试,直到Gps在LocationManager和FLP上修复之前我都有同样的问题.

猜你在找的Android相关文章