Search code examples
androidlocationmanagerlocationlistener

Unsubscribing a LocationListener from the LocationManager


How do I unsubscribe a LocationListener from recieving updates from the LocationManager?

Here is how I'm setting it up

mLocationManager = (LocationManager)this.getSystemService(LOCATION_SERVICE);
mListener = new LocationListener() {
    public void onLocationChanged(Location location) {
        Log.i("LocationListener", "Logging Change");
    }

}

mLocationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,
                5000, 1, mListener);

After I have exited the the view that created the LocationListener I am still getting log messages in the LogCat window.

I understand that this is because I am orphaning the listener but I cannot see any destroy method on the LocationListener nor can I see any "remove listener" style methods on the LocationManager object.


Solution

  • Call removeUpdates on LocationManager, passing your location listener.