【发布时间】:2012-11-22 09:27:47
【问题描述】:
我有一个服务实现 LocationListener 监听 GPS 和网络。
该应用程序依赖于持续的位置反馈,但似乎当 GPS 难以获取 locationfix 网络位置时不介入。
manager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 1000 * 30,0, LocationReporterService.this);
manager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 1000 * 60 * 2,0, LocationReporterService.this);
问题
如何确保始终获得位置信息?
如何确保如果我没有获得 GPS 位置,我会获得网络位置?
这是一个已知的错误吗?
我应该有 2 个服务,GPSLocationService 和 NetworkLocationsService?
这个问题有方法解决吗? :)
【问题讨论】:
-
它不需要为网络和gps创建两个服务。你可以在同一个服务类中做到这一点
-
如果您不请求 GPSProvider 更新,您会获得 NetworkProvider 更新吗?另外,您在哪些设备上进行测试?
-
嗨!是的,如果我只请求网络更新,我确实会获得 NetworkProvider 位置。似乎Android系统的困难在于它有几颗卫星。获得GPS位置的卫星太少,而获得网络位置的卫星太多?我有一系列不同的设备,例如 Nexus S (2.3/4.1)、HTC One X、Galaxy Note 等。这个问题在 Android 4.0.4 及更高版本的较新版本中更常见。