2013-01-09 65 views
0

我的要求是每90秒获取位置更新。 我正在使用网络提供商。使用网络提供商的位置更新

给出下面我这样做:

locationManager.requestLocationUpdates(
     LocationManager.NETWORK_PROVIDER, 
     MINIMUM_TIME_BETWEEN_UPDATES, 
     MINIMUM_DISTANCE_CHANGE_FOR_UPDATES, 
     new MyLocationListener()); 

在这里,在这个方法中,我传递90000MINIMUM_TIME_BETWEEN_UPDATES,并且0MINIMUM_DISTANCE_CHANGE_FOR_UPDATES,所以预期的结果是,侦听器方法onLocationChanged()应该叫每个90秒。

但结果是onLocationChanged()方法被称为第一次在75秒,然后在105秒,然后75105,...等等。

我的要求是获取位置更新90秒而不是不同的持续时间/期间。 如果找不到给定更新的位置,我想获取最后一个已知位置。

请告诉我解决此问题的方法。

+0

Narendra DroidWorm让我们你的完整代码我不认为你做任何错误的位置更新代码它会正常工作。我猜想代码中存在一些逻辑错误。 – RanjithKumarRagavan

回答

0
  1. 将MINIMUM_DISTANCE_CHANGE_FOR_UPDATES的值设置为500或其他值,但不为零。

  2. 如果你希望你的最后已知位置,然后使用

Location loc = LocationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);

+0

我做了你的建议,并将MINIMUM_DISTANCE_CHANGE_FOR_UPDATES改为500,但仍然得到了相同的结果。 即使现在,我也会收到非统一时间的更新。 – NarendraJi

相关问题