7

如何取消订阅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对象上的任何“删除侦听器”样式方法。

4

3 回答 3

15

在 LocationManager 上调用removeUpdates,传递您的位置侦听器。

于 2010-01-19T22:10:54.357 回答
6
mLocationManager.removeUpdates(mListener);
于 2010-01-19T22:11:31.783 回答
3

我认为removeUpdates应该会有所帮助。

mLocationManager.removeUpdates(mListener)
于 2010-01-19T22:11:26.197 回答