取消订阅LocationManager中的LocationListener

时间:2010-01-19 22:01:55

标签: android locationmanager locationlistener

如何取消订阅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上看不到任何destroy方法,也无法在LocationManager对象上看到任何“删除侦听器”样式方法。

3 个答案:

答案 0 :(得分:14)

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

答案 1 :(得分:6)

mLocationManager.removeUpdates(mListener);

答案 2 :(得分:3)

我认为removeUpdates应该有所帮助。

mLocationManager.removeUpdates(mListener)