Zis*_*han 8 gps android fusedlocationproviderapi
我在我的应用程序中使用融合位置提供程序,设置PRIORITY_HIGH_ACCURACY间隔为60秒.这通常有效,但有时位置本身不会更新5到10分钟,而当我打开谷歌地图时,它似乎会触发位置更新.
这里的任何其他人可能遇到过这个问题,或者知道这种行为背后的可能原因?有没有什么办法解决这一问题?
即使可以通过 FusedLocationProvider api 或 LocationManager 获取位置,Gps 也并不总是返回位置LocationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)。特别是,如果您在室内,则不太可能从 GPS 获取位置,具体取决于您设备的 GPS 芯片。GPS 必须固定才能返回位置。
您可以编写一个测试应用程序,其中包含带有 Gps、Wifi 和 GpsStatusListener 的 LocationManager,以检查卫星数量、定位中的卫星以及卫星信号强度,同时将其与 FusedLocationProvider 进行比较,并将提供的位置添加到地图作为标记。您还可以查找 FLP 的Location.getExtras() ,其中可能包含有关卫星的信息。即使 LocationManager Gps 可用且卫星数量为 2,我也无法从 Gps 获取位置。
图像中的 Hello World 应该是 Gps 位置,但由于尚未修复,因此未返回。
测试可能无法解决您的问题,但您可以比较您获取位置的情况,或者您不能,例如可能需要使用 3 颗卫星才能从 Gps 或最小信号强度获取位置。GPS 锁定也可能需要很长时间,并且状态设置GpsStatusListener为GpsStatus.GPS_EVENT_FIRST_FIX锁定时。我的 GPS 花了大约 5 分钟才修复并返回位置。我还用地图编写了另一个测试,直到在 LocationManager 和 FLP 上修复 Gps 之前我遇到了同样的问题。
| 归档时间: |
|
| 查看次数: |
1215 次 |
| 最近记录: |