Вопрос

Как мне отказаться от подписки LocationListener от получения обновлений от LocationManager?

Вот как я это настраиваю

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);

После того, как я вышел из представления, создавшего LocationListener Я все еще получаю сообщения журнала в окне LogCat.

Я понимаю, что это связано с тем, что я делаю слушателя сиротой, но я не вижу никакого метода уничтожения на LocationListener и я не вижу никаких методов стиля «удалить прослушиватель» на LocationManager объект.

Это было полезно?

Решение

Вызов удалитьОбновления в LocationManager, передавая прослушиватель вашего местоположения.

Другие советы

mLocationManager.removeUpdates(mListener);

Я думаю удалитьОбновления должно помочь.

mLocationManager.removeUpdates(mListener)
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top