我想知道这在安卓或iPhone上是否可能:
我希望有一个应用程序运行在手机的后台,并发送GPS定位到服务器每N分钟。据我所知,在iPhone上很难做到这一点,但在安卓上能做到吗?
再考虑一下iPhone --我是否可以创建一个web服务,为每个应用程序运行计时器,并在计时器过期时,向手机推送一个通知,以启动GPS服务并将位置信息发送回服务器?我可以在后台向iPhone应用程序推送通知吗?
谢谢!
发布于 2012-03-13 10:42:22
Re Android:是的,这也是可能的,就像iPhone一样,你需要的精度越低,速度就越快。它也是异步的,因此您需要一种类似的方法。与iPhone不同的是,你可以启动GPS并在后台服务中等待位置更新,这样你就可以随时将当前位置发送到服务器。
发布于 2012-03-13 09:43:46
Re iPhone:是的,你可以在应用程序在后台时推送通知,但你应该知道位置服务API是一个异步API (我自己也在做这件事...:),所以你不能对它本身进行计时(例如,你可以每N秒“暴露”它,保存最后提供的位置-所以本质上是实现了一个使其异步的逻辑,但对用户体验有一定的影响)。
还要注意的是,在后台运行定位服务是一种巨大的电池消耗。在这里,它实际上取决于您正在构建的应用程序的类型。如果你不需要高精度(例如,知道城市就足够了),你可以将API的精度设置为大,这不会触发WiFi和GPS,并且将只使用无电池的电池消耗。如果你需要非常高的精确度(街角等)这对你来说不是很有用。
添加更多信息以方便您:就像我提到的,准确性要求将触发不同的位置服务,这反过来会影响电池的消费。一般来说,精确度是:
全球定位系统:~10米WiFi:~100米小区: 500米(城市峡谷环境)到50公里(开阔环境)
希望这能有所帮助。
https://stackoverflow.com/questions/9676812
复制相似问题