【问题标题】:Android network location takes hours to update locationAndroid 网络位置需要数小时才能更新位置
【发布时间】:2011-06-09 20:57:35
【问题描述】:

在我的 android 应用程序中,我使用网络提供商在位置侦听器中接收位置更新并将它们同步到我的服务器。测试时,我会带上设备,开车几个小时,第二天再回来。

问题是听众有时需要几个小时才能给我一个更新的位置。我将离开 A 点并到达 B 点,设备需要 3 个小时才能将 B 报告为新位置。第二天从 B 点回到 A 点也会发生同样的情况。

更新位置花了这么长时间似乎很奇怪。距离过滤器为 600m 和 10 分钟的时间间隔。使用网络提供商时,我可以期待三个小时的最佳时间吗?

顺便说一句,这一切都可以使用 gps 完美运行。

【问题讨论】:

  • 有时我也遇到了同样的问题,所以我对这个问题很感兴趣。虽然谷歌地图可以看到位置变化,但我的应用程序无法做到这一点。而且我必须等待足够长的时间,有时半个多小时,我才能看到新的位置。
  • 当您将设备带到新位置时,它是否可以访问互联网?您需要 Internet 访问(连接到 Wifi 或移动数据连接)才能使用 NetworkProvider 获取位置。
  • 这个问题有进展吗?

标签: android location


【解决方案1】:

我不知道您的代码在做什么(查看您的代码会很有帮助),但请尝试在您首次开始位置更新时快速获取位置更新:

Location networkLocation = locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);

距离过滤器和时间间隔设置是建议,而不是说明,因此它可能会忽略这些建议。

【讨论】:

  • 我实际上正在使用一个监听器并像这样传递网络提供商。 _locationManager.requestLocationUpdates( LocationManager.NETWORK_PROVIDER, updateTime, updateDistance, this );
  • 没关系,但上面截取的代码用于一次性位置更新,您可以在其他听众获得结果之前使用它。它通常与您的位置有一个合理的近似值。
  • 试过 getLastKnownLocation() 但它总是返回侦听器的相同位置。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-02-20
  • 2017-02-18
  • 2013-07-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-08-14
相关资源
最近更新 更多