3

有没有办法查出 GPS 信号丢失了?我不是在谈论 GPS 模块是否启用/禁用。假设启用了 GPS 模块;但是修复丢失了?

如何检查 GPS 接收器的当前状态?链接没用;因为在用户静止一段时间(“LocationListener”停止收听位置更新;在第一次修复时收到几个更新之后)的情况下,您无法使用该解决方案。

不仅如此,与姜饼不同,在我的 Nexus 4(具有 Jelly Bean 4.2.2)上,不再调用“LocationListener”的“onStatusChanged”方法!我不知道这是否取决于静止不动;但这对我来说已经没有任何意义了。

另一方面,我的 API 是通过 API 10 编译的,但是在那个版本中,当时没有在“LocationManager”类中声明名为“GPS_FIX_CHANGE”的操作。

我应该怎么做才能让我的应用程序通知信号丢失和获得事件?

亲切的问候

4

2 回答 2

1

Android 和 iphone 都启用了静止过滤器,正如您所描述的,这会导致您在静止时没有获得位置更新的情况。
我会忽略这一点,并为收到的每个新位置使用 Location.accuracy 值。如果该值超过 30m,那么它就是糟糕的 GPS。

站立时,您可以决定什么也不做。
理论上,您的任务有一个解决方案,但有缺点:
当您有一段时间没有获得新位置时,您可以每 5 秒禁用和重新启用位置服务。然后,如果 GPS 良好,您将获得一个新坐标,如果没有可用的 GPS 信号,则没有。

于 2013-06-09T15:52:55.103 回答
0

我遇到了同样的问题并得出这个结论:当 GPS 信号丢失时,侦听器将返回最后一个值或 0.0(在某些情况下)。如果最后 2 个值等于最后 5 位小数,则信号丢失。实际上,GPS 永远不会给你两个具有相同值的连续坐标。这几乎是不可能的,所以只要考虑这种情况 if(last_coords == new_coords) -> GPS 信号丢失。

于 2014-12-18T08:09:55.207 回答