2014-05-23 45 views
0

我的應用程序中有兩個不同的類實現LocationListener。其中一個僅用於獲取用戶的當前位置,另一個則在後臺不斷運行以保持用戶速度的數據。可以使用兩個不同的LocationListener的原因問題嗎?

在我的測試設備上,這不會引起任何問題。然而,一些其他測試人員說,當試圖獲取位置時,他們的設備「鎖定」(我沒有看到發生這種情況,所以我不確定它們的真正含義)。

這可能只是他們的手機有一個弱的GPS定位,或者這可能是一個奇怪的硬件問題,當兩個不同的線程試圖通過GPS獲取位置時發生?如果是這樣,解決這個問題的最好方法是什麼?謝謝。

回答

1

我建議您使用屬於Google Play服務的新fused provider。我不會設置兩個LocationListeners。由於您將不斷跟蹤用戶的位置,所以通過使用新的LocationClient,您可以使用它的getLastLocation()來檢索設備具有的最新最佳,高速緩存的位置,這很可能是您正在檢索的不斷更新的位置。融合的供應商也將確定哪一個是最好的供應商,你不需要擔心這個邏輯。

+0

是的,這似乎可能是我需要做的。我試圖避免它(代碼本來設計得很差,耗時/將邏輯合併在一起),但從長遠來看它會更好。 –

+0

是的,這可能是最好的選擇。 – Emmanuel

相關問題