7

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.

Greg B
  • 14,597
  • 18
  • 87
  • 141

3 Answers3

16

Call removeUpdates on LocationManager, passing your location listener.

Mark B
  • 183,023
  • 24
  • 297
  • 295
6
mLocationManager.removeUpdates(mListener);
Chiwai Chan
  • 4,716
  • 4
  • 30
  • 33
3

I think removeUpdates should help.

mLocationManager.removeUpdates(mListener)
Sam DeHaan
  • 10,246
  • 2
  • 40
  • 48
matekm
  • 5,990
  • 3
  • 26
  • 31