有没有办法发现GPS信号丢失了?我不是在谈论是否启用/禁用GPS模块。假设启用了GPS模块;但修复失败了吗?
此How can I check the current status of the GPS receiver?链接无效;因为在用户静止一段时间的情况下你不能使用该解决方案(“LocationListener”停止收听位置更新;在第一次修复后收到几个更新后)。
不仅如此,与姜饼不同,在我的Nexus 4(具有Jelly Bean 4.2.2)上,“LocationListener”的“onStatusChanged”方法不再被调用!我不知道它是否依赖于静止;但它对我来说没有任何意义。
另一方面,My API是通过API 10编译的,但在该版本中,当时没有在“LocationManager”类中声明“GPS_FIX_CHANGE”的操作。
如果我的应用程序收到信号丢失和获得事件的通知,我该怎么办?
亲切的问候
答案 0 :(得分:1)
Android和iphone都启用了支架静音滤镜,如您所述,导致您在静止不动时无法获得位置更新的情况。
我会忽略它,并为收到的每个新位置使用Location.accuracy值。如果这个值超过30米那么GPS就不好了。
站着的时候,你可以决定什么也不做 从理论上讲,你的任务有一个解决方案,但有一些缺点: 如果您在一段时间内没有获得新位置,则可以每5秒禁用并重新启用位置服务。然后,如果有良好的GPS,你会得到一个新的坐标,如果没有可用的GPS信号则没有。
答案 1 :(得分:0)
我遇到了同样的问题并得出了这样的结论:当GPS信号丢失时,听众将返回最后一个值或0.0(在某些情况下)。如果最后2个值等于最后5个小数,则信号丢失。在实践中,GPS永远不会给你两个具有相同值的连续坐标。这几乎是不可能的,所以只要考虑这种情况,如果(last_coords == new_coords) - > GPS信号丢失。