【问题标题】:Is it possible to get current location every X seconds on android?是否可以在android上每X秒获取当前位置?
【发布时间】:2013-06-05 19:27:27
【问题描述】:

我正在开发一款用于跟踪公共交通工具(公共汽车和有轨电车)移动的应用。我正在做客户端和服务器端。客户端从服务器数据库请求公共汽车的位置,而服务器端只是一个简单的应用程序,它应该每隔 10 秒将当前位置发送到服务器数据库。

不要考虑性能或电池寿命,没关系。重要的应用程序是客户端的应用程序,服务器端只是一个模拟,以防万一我们在每辆车上安装了真正的 gps。所以忘记服务器端的电池寿命吧。

我了解到,Android 通过网络提供商获取位置存在时间间隔限制,此限制设置为 45 秒分钟。是否可以以任何方式跳过此限制?用手机GPS来完成这个任务会更好吗?

关于数据库,我只是将一个 ID(自动增量)存储为主键、纬度、经度和时间戳。

我还考虑过监听位置的变化,当有变化时,在我的数据库中添加一个新条目。如果我想从客户端检查位置,我将查找时间戳等于或小于当前时间戳的最后一个条目。但是如果限制设置为 45 秒,这种方法也对我没有帮助。

提前致谢。

【问题讨论】:

  • “我读到Android通过网络连接发送坐标有限制,这个限制设置为45秒分钟。” -- 我不知道你在说什么。
  • 没有表面上的 45 秒限制,不知道你从哪里读到的,但如果你也从那个来源“学到”了其他东西,我会持保留态度。
  • 看看我的问题:stackoverflow.com/questions/15747543/… 如果@CommonsWare 或 FoamyGuy 可以看看,我将非常感激,因为我被困了很长时间
  • 对不起,我写错了。我读到的是,Android 通过网络提供商获取位置存在时间间隔限制。不是真理吗?我在这里读过它:stackoverflow.com/a/9527556/1861168 以及其他一些类似的线程。谢谢!
  • 我刚刚测试了requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, this),平均每 20 秒读取一次。

标签: android geolocation position location coordinates


【解决方案1】:

您应该使用 Google Play 服务中最近添加的位置服务 API 中的新“Fused Location Provider”。关于如何完成这个here 有一个很好的演练。新位置 API 的好处是您不必决定使用 GPS 还是网络。 API 的内部将确定应使用哪个提供程序来为您提供最准确的位置。此外,我从未听说过有关位置更新限制的消息。我很确定你能以每秒 1 次更新的速度获得它们,不过不要引用我的话。

【讨论】:

  • 感谢您的回答。我会看看它并尽快回复。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-15
  • 1970-01-01
  • 2016-05-01
  • 2016-12-25
相关资源
最近更新 更多