2013-01-09 64 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

相關問題