Android-需要很长时间才能获得GPS信号。如何实现一个好的GPS提供商?
我写了一个应用程序,在慢跑时跟踪gps位置。不幸的是,该应用程序需要一些时间才能获得gps信号。当我打开谷歌地图等其他应用程序时,他们马上就能得到这个位置 我的问题是:如何实现gps提供商,以便应用程序尽可能快地获得信号 一个想法是,用应用程序启动一项服务,让提供商做一些准备工作。但跟踪活动不是主要活动。如何在尚未启动服务的活动中绑定服务?这是个好主意吗 谢谢阅读-我希望我的英语可以理解Android-需要很长时间才能获得GPS信号。如何实现一个好的GPS提供商?,android,gps,location-provider,Android,Gps,Location Provider,我写了一个应用程序,在慢跑时跟踪gps位置。不幸的是,该应用程序需要一些时间才能获得gps信号。当我打开谷歌地图等其他应用程序时,他们马上就能得到这个位置 我的问题是:如何实现gps提供商,以便应用程序尽可能快地获得信号 一个想法是,用应用程序启动一项服务,让提供商做一些准备工作。但跟踪活动不是主要活动。如何在尚未启动服务的活动中绑定服务?这是个好主意吗 谢谢阅读-我希望我的英语可以理解 马提尼酒您是否首先检查是否有您可以使用的最后一个已知位置?大多数应用程序首先检查GPS,然后搜索位置。正如我
马提尼酒您是否首先检查是否有您可以使用的最后一个已知位置?大多数应用程序首先检查GPS,然后搜索位置。正如我在评论中提到的,GPS启动不是一个即时过程。接收机基本上必须知道每个GPS卫星在星座中的位置,以便计算其位置。星历数据描述了卫星相对于接收卫星的位置,并在GPS打开时从卫星上下载(我几乎忘了提到历书数据,它也是下载的一部分,描述了卫星的轨道)。从多个卫星下载和使用最后一个已知的位置可以帮助加速这个初始过程,但你不能让它“即时” 还有其他一些策略可以用来帮助加快定位过程,尤其是在手机中。除了最后已知的位置外,当GPS仍在采集过程中时,还可以使用诸如Cell Tower+定时定位(ECID)或Wi-Fi定位之类的东西来代替GPS 本文介绍了如何在android中定位手机的一些想法,但其不足之处在于:
- 检查最后一个已知位置(如果位置太旧则丢弃)
- 检查E-CID位置(这非常快,但非常粗糙 位置)
- 检查Wi-Fi位置(这可能非常准确,但需要打开WiFi,有时可能会出现大量错误)
- 最终获得GPS位置