2012-07-03 56 views
3

速滑運動員的肌肉更新它再次顯示1秒之後,位置更新和再次我怎麼能sttop這一次我得到的位置更新如何刪除由於分鐘時的位置更新

private static final long MINIMUM_DISTANCE_CHANGE_FOR_UPDATES = 1000; // in Meters 
private static final long MINIMUM_TIME_BETWEEN_UPDATES = 1*1000*60; // in Milliseconds 
protected LocationManager locationManager; 


LocationManager locationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE); 
locationListener = new MyLocationListener(); 


locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,MINIMUM_TIME_BETWEEN_UPDATES,MINIMUM_DISTANCE_CHANGE_FOR_UPDATES, locationListener); 



private class MyLocationListener implements LocationListener 
    { 

     public void onLocationChanged(Location location) 
     { 
      String message = String.format(
        "New Location \n Longitude: %1$s \n Latitude: %2$s", 
        location.getLongitude(), location.getLatitude(),location.getTime() 
      ); 
      Toast.makeText(MyService.this, message, Toast.LENGTH_LONG).show(); 
     } 

     public void onStatusChanged(String s, int i, Bundle b) {} 

     public void onProviderDisabled(String s) {} 

     public void onProviderEnabled(String s) {} 
} 

回答

3
locationManager.removeUpdates(locationListener); 
2

爲了去除更新你必須調用

locationManager.removeUpdates(<yourLocationListener>); 
+0

我已經在我的Onloactionchange中調用了這個方法,但它強制關閉了應用程序 – Sumit

+1

,您應該在onDestroy方法中調用它。 – Sajmon

+0

我應該在MyLocationListener類或外部創建一個銷燬方法? – Sumit

0

試試這個:

locationManager.removeUpdates(locationListener); 
locationManager= null; 
+0

不,這也不起作用..應用程序關閉 – Sumit

+1

您可以發佈您的logCat輸出? –

+0

我得到了答覆vipul謝謝答覆 – Sumit