如何忽略 android 中的 irelevent gps 位置更新?

Posted

技术标签:

【中文标题】如何忽略 android 中的 irelevent gps 位置更新?【英文标题】:how to ignore irelevent gps location updates in android? 【发布时间】:2020-03-09 00:31:46 【问题描述】:

我正在开发一个使用 GPS 位置数据的应用。

问题在于应用运行的条件。有时没有互联网连接,有时有屋顶,否则用户会进入隧道,在这种情况下,我会从GPS 得到一些错误的观点。

关键是我如何忽略GPS 的错误点? 我有一个想法,列出最后一个 1020 点并获取它们之间的距离平均值,如果新点距离 <= 平均值,则删除最后一个点并将新点添加到列表中。

但是有一个问题!有时新观点是正确的,从那里我有正确的观点。 那么我怎么能决定忽略这一点或将其保留在列表中。或者也许还有其他我不知道的方法?

【问题讨论】:

【参考方案1】:

您可能有一个不断更新的侦听器。试试这个:

locationManager.getLastKnownLocation(provider)

在哪里provider = LocationManager.GPS_PROVIDER;

当你想获取新位置时调用这个方法

【讨论】:

来自文档说:`请注意,此位置可能已过时,例如,如果设备已关闭并移动到另一个位置。如果提供程序当前被禁用,则返回 null。所以在我的情况下它是不可靠的。 是的,您只能获得一次位置,因此如果设备被移动,您需要在再次需要最新位置时调用 getLastKnownLocation。 要么在决定时使用 getLastKnownLocation 获取位置,要么按照位置不断更新的位置进行操作,这会降低应用程序的性能 工人使用我的应用程序填写设备清单,在保存清单表格之前,他们必须获得设备的正确位置以便稍后发送,并且该位置需要正确因为这表明工人实际上去了那里并填写了清单。有时由于环境原因,它没有显示正确的位置。我需要知道它是否是设备的正确位置。如果不是,我不会让他们保存清单,直到找到正确的位置。而且我认为它不会影响性能,尽管可能是电池

以上是关于如何忽略 android 中的 irelevent gps 位置更新?的主要内容,如果未能解决你的问题,请参考以下文章

忽略移动优先中的证书错误(React Native)(Android)

重新加载应用程序后,Android 会忽略 XML 中的 autoOrients 设置

如何在 SQLite 查询中忽略重音(Android)

Android中的WeakReference 弱引用

如何在 gradle kts 中排除(忽略)android 构建变体

Android 批量插入或忽略 JSONArray