Greg B
Greg B

Reputation: 14898

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.

Upvotes: 7

Views: 9580

Answers (3)

matekm
matekm

Reputation: 6030

I think removeUpdates should help.

mLocationManager.removeUpdates(mListener)

Upvotes: 3

Chiwai Chan
Chiwai Chan

Reputation: 4866

mLocationManager.removeUpdates(mListener);

Upvotes: 6

Mark B
Mark B

Reputation: 201103

Call removeUpdates on LocationManager, passing your location listener.

Upvotes: 16

Related Questions