2011-06-09 60 views
4

在我的android應用程序中,我使用網絡提供程序在位置偵聽器中接收位置更新並將它們同步到我的服務器。測試時,我會拿着設備開車幾個小時,第二天再回來。Android網絡位置需要數小時才能更新位置

問題是聽衆有時需要幾個小時才能給我一個更新的位置。我將離開A點併到達B點,設備將B報告爲新位置需要3個小時。第二天從B點回到A也會發生同樣的情況。

看起來很奇怪,它說這麼久以更新位置。距離過濾器是600米和10分鐘的時間間隔。關於使用網絡提供商可以期待的最好的三個小時?

在旁註中,它使用gps完美工作。

+0

有時我也遇到同樣的問題,所以我對這個問題很感興趣。雖然Google地圖可以看到位置更改,但我的應用無法執行此操作。我必須等待足夠長的時間,有時超過半小時,我可以看到新的位置。 – flypen 2012-05-25 03:47:02

+1

將設備帶到新位置時,它是否具有Internet訪問權限?您需要訪問Internet(連接到Wifi或移動數據連接)才能使用NetworkProvider獲取位置。 – 2012-05-25 07:02:30

+0

這個問題有沒有進展? – flypen 2012-05-28 15:04:22

回答

0

我不知道你的代碼是做什麼的(這將是有益的,看看你的代碼),但這個嘗試得到一個快速的位置更新,當你第一次開始更新自己的位置:

Location networkLocation = locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER); 

的距離過濾器和時間間隔設置是建議,而不是說明,因此可能忽略了這些建議。

+0

我實際上正在使用一個監聽器,並像那樣通過網絡提供者。 '_locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER,updateTime,updateDistance,this);' – Lysandus 2011-06-10 12:44:45

+0

這很好,但上面的代碼片斷是用於一次性位置更新,您可以在其他偵聽器獲得結果之前使用該位置更新。它通常對你的位置有一個合理的近似值。 – 2011-06-10 23:31:13

+0

嘗試getLastKnownLocation(),但始終返回偵聽器所在的相同位置。 – Lysandus 2011-06-14 17:23:12