获取GPS定位的合理超时是多少?

获取GPS定位的合理超时是多少?,gps,geolocation,brew-framework,brewmp,Gps,Geolocation,Brew Framework,Brewmp,我正在创建一个请求用户位置的BREW应用程序 如果手机无法获取该位置,我想显示一个错误 在确定手机不太可能获得GPS定位之前,我应该等待多长时间才能拨打回拨电话?45-90秒 有关更多信息,请参阅维基百科上的GPS文章 但你永远无法知道用户何时能看到卫星,也许他们启动你的程序时卫星还在里面,所以Matthew Vines建议的方法比持续的延迟要好得多。我可能会在通知用户你无法建立链接之间增加一个增量(比如20秒或30秒),让他们选择停止尝试。一直这样做,直到他们阻止你,或者经过了一定数量的迭代(

我正在创建一个请求用户位置的BREW应用程序

如果手机无法获取该位置,我想显示一个错误

在确定手机不太可能获得GPS定位之前,我应该等待多长时间才能拨打回拨电话?

45-90秒

有关更多信息,请参阅维基百科上的GPS文章


但你永远无法知道用户何时能看到卫星,也许他们启动你的程序时卫星还在里面,所以Matthew Vines建议的方法比持续的延迟要好得多。

我可能会在通知用户你无法建立链接之间增加一个增量(比如20秒或30秒),让他们选择停止尝试。一直这样做,直到他们阻止你,或者经过了一定数量的迭代(比如5-10次迭代)。

当需要冷启动时,接收器必须下载一整套星历数据,这些数据在30秒的周期内从GPS卫星广播,并每30秒重新传输一次

所以我想说60-90秒(两个或三个星历周期)是宣布失败之前等待的合适时间


请注意,如果设备需要年鉴下载,启动时间可能会更长(大约12.5到15分钟)。这被称为工厂TTFF(首次修复时间)。

手机具体来说,我有一部摩托罗拉手机,它有一个GPS接收器,但性能非常差-可能需要大约5分钟才能修复,而我的独立蓝牙接收器在不到一分钟的时间内就能处理


为什么在一个固定的超时之后要声明失败?为什么不在经过一段合理的时间(比如一分钟)后,显示一条“GPS定位仍不可用;但我仍在尝试”的消息,如果用户厌倦了,可以随时取消?您希望用户如何处理您建议给他的失败消息?

拥有过期的年历并执行下载不会阻止GPS获取位置。历书是分段传输的,GPS可以通过多个唤醒事件收集历书。我使用的一个GPS引擎的默认采集超时为2分钟。如果在这一次之后它还没有获得卫星,它会进行自我重置并重新启动。目前,我正在编写一个单元测试,以便我们可以看看它是否正常工作。最终用户可能永远不会看到这些。谢谢你的意见。