有没有办法发现GPS信号丢失了?我不是在谈论GPS模块是否启用/禁用。假设启用了GPS模块;但是修复丢失了?
这个How can I check the current status of the GPS receiver?链接没有什么用处;因为您不能在用户静止一段时间的情况下使用该解决方案(“LocationListener”停止侦听位置更新;在第一次修复时收到几个更新之后)。
更重要的是,与姜饼不同的是,在我的Nexus4(它有Jelly Bean 4.2.2)上,"LocationListener“的"onStatusChanged”方法不再被调用!我不知道它是否依赖于静止;但这对我来说再也没有任何意义了。
另一方面,我的API是通过API10编译的,但是在那个版本中,当时在"LocationManager“类中还没有声明名为"GPS_FIX_CHANGE”的操作。
我应该怎么做才能通知我的应用程序信号丢失和获得的事件?
亲切的问候
发布于 2013-06-09 23:52:55
Android和iphone都启用了stand stand过滤器,正如您所描述的,这会导致您在静止状态下无法获得位置更新。
我会忽略这一点,并对接收到的每个新位置使用Location.accuracy值。如果这个值超过30m,那么它就是坏的GPS。
站着的时候,你可以决定什么都不做。
从理论上讲,你的任务有一个解决方案,但有缺点:
当您在一段时间内没有获得新的位置时,您可以每隔5秒禁用和重新启用位置服务。然后,在GPS良好的情况下,你会得到一个新的坐标,或者如果没有可用的GPS信号,则没有坐标。
发布于 2014-12-18 16:09:55
我也遇到过同样的问题,并得出了这样的结论:当GPS信号丢失时,侦听器将返回最后一个值或0.0 (在某些情况下)。如果最后两个值等于最后第五个十进制数,则信号丢失。在实践中,GPS永远不会给你两个具有相同值的连续坐标。这几乎是不可能的,所以只要考虑一下这种情况,如果(last_coords == new_coords) -> GPS信号丢失。
https://stackoverflow.com/questions/17009320
复制相似问题