如果GPS无法获取位置,请在Android中切换到网络

时间:2013-01-12 01:46:44

标签: android networking gps

我正在尝试获取基于GPS或网络的位置,但问题是如果我采用基于GPS位置,则需要大量时间来获取位置详细信息。因此,我想实现一种方法,其中如果使用网络提供商GPS信号是非常低的获取位置。如何确定GPS信号?如果这有问题吗?即使在开阔的天空,GPS信号也始终很低,因此它总能到达网络提供商?

如何解决此问题?

2 个答案:

答案 0 :(得分:0)

您是使用LocationManager.GetLastKnownLocation轮询位置,还是通过requestLocationUpdates异步获取更新?

首先,使用GPS_PROVIDER查询位置。如果返回null,则查询NETWORK_PROVIDER

如果您收到通知,请同时请求。然后你可以实现onStatusChanged以告知GPS何时可用,如果是,则忽略网络更新,否则使用它们(位置对象告诉你提供者是什么)。

答案 1 :(得分:0)

添加lm.requestLocationUpdates(LocationManager.NETWORK_PROVIDER,0,0,ll);它将开始使用networ获取gps。使用location.getProvider(),你应该能够区分它是否知道它的gps或网络。