Web服务的背景GPS轮询

时间:2012-03-13 00:37:52

标签: android iphone service gps web

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

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

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

谢谢!

2 个答案:

答案 0 :(得分:2)

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

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

为方便起见添加更多信息:正如我所提到的,准确性要求将触发不同的位置服务,这反过来会影响面糊消耗。一般来说,准确度是:

GPS:约10米 WiFi:约100米 电池:500米(城市峡谷环境)至50公里(开放环境)

希望有所帮助。

答案 1 :(得分:2)

Re Android:是的,这也是可能的,就像iPhone一样,你需要的准确性越低,这个就越快。它也是异步的,因此您需要一种类似的方法。与iPhone相反,您可以启动GPS并等待后台服务中的位置更新,以便您可以随时将当前位置发送到服务器。