【问题标题】:Background GPS Polling from Web Service来自 Web 服务的后台 GPS 轮询
【发布时间】:2012-03-29 10:15:49
【问题描述】:

我想知道这在 Android 或 iPhone 上是否可行:

我想在手机后台运行一个应用程序,并每 N 分钟向服务器发送一次 GPS 位置。据我所知,这在 iPhone 上很难,但在 Android 上可以做到吗?

在 iPhone 上多考虑一下 - 我是否可以创建一个 Web 服务,为每个应用程序运行计时器,并在计时器到期时向手机推送通知以启动 GPS 服务并将位置信息发送回服务器?我可以在后台向 iPhone 应用程序推送通知吗?

谢谢!

【问题讨论】:

    标签: android iphone service gps web


    【解决方案1】:

    Re Android:是的,这也是可能的,就像 iPhone 一样,您需要的精度越低,速度就越快。它也是异步的,因此您将需要类似的方法。与 iPhone 不同的是,您可以启动 GPS 并在后台服务中等待位置更新,这样您就可以随时将当前位置发送到服务器。

    【讨论】:

      【解决方案2】:

      关于 iPhone:是的,您可以在应用程序处于后台时推送通知,但您应该知道位置服务 API 是一个异步 API(我自己一直在研究它......:))所以你可以' t 本身的时间(例如,您可以每 N 秒“公开”一次,保存提供的最后一个位置 - 因此基本上实现了一个使其异步的逻辑,但对用户体验有一定的成本)。

      另请注意,在后台运行定位服务会消耗大量电池电量。在这里,它实际上取决于您正在构建的应用程序的类型。如果您不需要高精度(例如,知道城市就足够了),您可以将 API 的精度设置为很大,这不会触发 WiFi 和 GPS,并且只会使用电池 - 更少的电池消耗。如果您需要非常高的准确度(街角等),这对您来说不会很有用。

      为了您的方便添加更多信息:就像我提到的,准确度要求会触发不同的定位服务,这反过来会影响电池消耗。一般来说,准确度是:

      GPS:~10 米 无线网络:~100 米 小区:500米(城市峡谷环境)至50Km(开阔环境)

      希望对您有所帮助。

      【讨论】:

      • 我打算关闭所有位置服务 - 然后仅在手机收到推送通知时启动它们(然后快速关闭它们)。是否无法通过推送通知启动/停止它们?
      • 是的,这是可能的,但不确定您是否有时间从 API 接收位置,直到您再次关闭它们。
      猜你喜欢
      • 2013-11-11
      • 2012-06-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-24
      相关资源
      最近更新 更多