为什么LocationListener需要互联网连接

时间:2013-07-06 23:44:12

标签: android gps locationlistener

我为C#中的Windows Phone和Java中的Android编写应用程序。我在每个市场上都有类似的应用程序,它们都使用GPS跟踪手机移动时的移动。当手机外出移动时,互联网连接当然会进出。

我的应用程序的两个版本都将GPS读数传输到我的云服务器REST服务,并将其记录到数据库中。如果该应用程序没有互联网连接,它会将GPS位置保存在手机上,然后,当互联网连接恢复时,它会突破它对云服务器的连接。此过程在Windows手机中运行良好。

但是对于Android,当没有互联网连接时,我的LocationListener中的onLocationChanged事件在手机移动时不会被触发。当没有互联网信号时,它就像GPS关闭一样工作。这对我来说毫无意义。它应该以这种方式工作吗?为什么GPS需要互联网连接才能工作? 谢谢, 加里

编辑:我们从进一步的测试中发现,互联网可用性与onLocationChanged事件的失败无关。事件在大约20个月到几个小时之后就停止了我们的服务,我们无缘无故地找到了。

1 个答案:

答案 0 :(得分:0)

没有获取GPS不需要互联网必然

但是,以稳定,可操作和兼容的方式使用GPS获得正确的坐标是一团糟。

通常您会在提供商之间切换并利用互联网来提供良好的估算如果 GPS没有很好的响应。

确保GPS正常工作并发现信号,因为互联网可以提高GPS的初始化速度。

GPS加载速度很慢。可能需要6到8分钟,特别是如果覆盖率很差。只有在GPS确实确定了它的位置之后。在最初的几分钟内,您将看不到任何内容,因为没有更新。

也许您使用NETWORK_PROVIDER代替GPS_PROVIDER

喜欢这个

locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, locationListener);

尝试使用:

locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locationListener);

如果互联网不可用。

尝试使用两者,有很多很好的例子可以确保您获得最佳位置。不要忘记那个轮子;)