2012-11-14 46 views
1
   LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE); 

      LocationListener ll = new mylocationlistener(); 


       lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, ????, 20, ll); 

1.如果只應用minDistance(20m),應輸入什麼minTime參數? 0,-1或100000000?順便說一下,我想提示用戶已經到達距離原來地點20米的距離,但是當程序啓動並調用位置改變功能時,請求立即更新,我可以忽略位置改變功能,直到距離達到了?我可以在距離達到之前停止位置更新嗎?

回答

0

試試這個(未經測試,而是基於the docs):

final LocationManager locationManager = LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE); 
class implements LocationListener { 
    Location storedLocation; 
    public void onLocationChanged(Location newLocation) { 
     if (storedLocation.equals(null)) { 
      storedLocation = newLocation; 
     } 
     if ((newLocation.distanceTo(storedLocation) > 20.0) { 
      locationManager.removeUpdates(self); 
      return; 
     } 
     storedLocation = newLocation; 
    } 
    public void onProviderDisabled(String provider) { } 
    public void onProviderEnabled(String provider) { } 
    public void onStatusChanged(String provider, int status, Bundle extras) { } 
} 
+0

一些錯誤的日食:LocationListener的必須聲明抽象類,如何解決呢? –

+0

固定!非常感謝hd1,但尚未經過測試。 –

+0

我只是測試代碼,但應用程序開始顯示沒有任何用戶界面和最終的錯誤和關閉。以下是部分代碼,請看看!謝謝 –

相關問題