2010-11-10 4 views
1

Я использую следующий код, чтобы получить местоположение GPS. теперь я хочу получить местоположение GPS без автоматического обновления.Как получить местоположение GPS один раз и без автоматического обновления?

например, я хочу получить последнее место на кнопке только один раз не раз.

поэтому, пожалуйста, сообщите, какое значение я должен использовать для minTime и Distancewhile, получая обновления местоположения за один раз и без интервалов и автоматических обновлений?

и должен ли я назвать обновления местоположения в этой кнопке вместо onResume?

onbutton click() { 
    mlocManager = (LocationManager) getSystemService(LOCATION_SERVICE); 
    Criteria criteria = new Criteria(); 
    bestProvider = mlocManager.getBestProvider(criteria, false); 
    loc = mlocManager.getLastKnownLocation(bestProvider); 

    if(loc != null) { 
    MyDeviceLatitude = loc.getLatitude(); 
    MyDeviceLongitude = loc.getLongitude(); 
    } else { 
    showError(); 
    }  
} 

@Override 
public void onLocationChanged(Location argLocation) { 
    if (argLocation != null) { 
    loc = argLocation; 
    } 
} 

@Override 
protected void onPause() { 
    super.onPause(); 
    mlocManager.removeUpdates(this); 
} 

@Override 
protected void onResume() { 
    super.onResume(); 
    Criteria criteria = new Criteria(); 
    mlocManager = (LocationManager) getSystemService(LOCATION_SERVICE); 
    bestProvider = mlocManager.getBestProvider(criteria, false); 
    mlocManager.requestLocationUpdates(bestProvider, 20000,1 , this); 
} 

любая помощь будет принята с благодарностью.

ответ

0

взгляд на этот пост здесь: Android: getLastKnownLocation out-of-date - how to force location refresh?

в основном просто сделать материал в «onbutton клик()», чтобы получить последнюю позицию. но знайте, что это позиция с момента последнего включения gps! поэтому он может быть устаревшим.

Смежные вопросы