如何取消订阅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
对象上看到任何“删除侦听器”样式方法。
答案 0 :(得分:14)
在LocationManager上调用removeUpdates,传递您的位置监听器。
答案 1 :(得分:6)
mLocationManager.removeUpdates(mListener);
答案 2 :(得分:3)
我认为removeUpdates应该有所帮助。
mLocationManager.removeUpdates(mListener)