2010-08-16 3 views
0

У меня есть активность mapView, у которой есть LocationListener, зарегистрированный для регистрации нового места каждые две секунды. Когда я нажимаю кнопку «Назад», чтобы вернуться на главный экран приложения, GPS продолжает проверять местоположение каждые две секунды. Не останавливается ли слушатель, когда останавливается Activity? Если нет, как я могу справиться с этим? В настоящее время я не переопределил onStop().App Keeps Pinging GPS

private final LocationListener locationListener = new LocationListener() { 
    public void onLocationChanged(Location location) { 
     updateWithNewLocation(location); 
    } 

    public void onProviderDisabled(String provider) { 
     //TODO do something to handle when the provider is disabled 
    } 

    public void onProviderEnabled(String provider) { } 
    public void onStatusChanged(String provider, int status, Bundle extras) { } 
}; 

ответ

3

Вам необходимо переопределить метод вашего Activity, потому что уверен, будет называться. В методе вы должны отменить регистрацию LocationListener.

Вы можете сделать это через

locationManager.removeUpdates(yourListener); 

Если у вас есть mapView я иногда имел проблемы с locationOverlay держать слушателя зарегистрированную и с помощью GPS, даже если MapView был в фоновом режиме.

+0

Работал как очарование. благодаря – Mike