2011-08-22 55 views

回答

5

The documentation has a good answer.

公共無效requestLocationUpdates(字符串提供商,長minTime, 浮動minDistance纔會,LocationListener的偵聽器)

如果minDistance纔會大於0,一如果設備按minDistance米移動,則只能播放位置 。爲了獲得通知作爲 頻繁地,設置兩個參數爲0。

位置變化將通過OnLocationChange()通過在requestLocationUpdates()登記的LocationListener稱爲被檢測到。

+0

感謝您的答覆.....但我需要的時候通知我的位置改變了一些金額,無論頻繁更新,即minTime參數.....例如當我的位置改變了100米....請提供一些例子,如果可能的話....謝謝 –

+0

如果你只想檢測一個最小距離,比你需要指定一個minDistance。要知道位置之間的確切距離的唯一方法是記錄最後一個位置。然後你可以使用Location.distanceBetween()來知道確切的增量。 – Ian

+0

所以我們不能使用requestLocationUpdates()完成這個任務....我真的很困惑這裏。請指導 –

0

要忽略位置請求之間的時間延遲,只需將其指定爲0.這樣就是0秒延遲,這意味着沒有延遲。

LocationManager yourLoc = (LocationManager) getSystemService(Context.LOCATION_SERVICE); 
yourLoc.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 1, onLocationChange); 

上面的例子每隔1米變化一次。

0

嘗試設置minTime參數爲一個整數的最大值或漂浮在Java中,這樣,它會得到由minDistance纔會叫之前minTime