2010-08-16 17 views
0

J'ai une activité mapView qui a un LocationListener enregistré pour vérifier un nouvel emplacement toutes les deux secondes. Lorsque j'appuie sur le bouton de retour pour revenir à l'écran principal de l'application, le GPS continue de vérifier l'emplacement toutes les deux secondes. L'écouteur n'est-il pas arrêté lorsque le Activity s'arrête? Si non, comment puis-je gérer cela? Je n'ai actuellement pas remplacé onStop().App conserve ping 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) { } 
}; 

Répondre

3

Vous devez remplacer la méthode de votre Activity parce que c'est sûr d'être appelé. Dans la méthode , vous devez annuler l'enregistrement de LocationListener.

Vous le faire par

locationManager.removeUpdates(yourListener); 

Si vous avez un mapView j'ai eu parfois des problèmes avec le locationOverlay en gardant un écouteur et l'utilisation du GPS, même si le MapView était en arrière-plan.

+0

A travaillé comme un charme. Merci – Mike