2010-01-19 33 views
5

Làm cách nào để hủy đăng ký LocationListener khỏi việc nhận các cập nhật từ LocationManager?Hủy đăng ký một LocationListener từ LocationManager

Sau đây là cách tôi đặt nó lên

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

Sau khi tôi đã thoát chế độ xem đã tạo ra LocationListener tôi vẫn nhận được tin nhắn đăng nhập trong cửa sổ LogCat.

Tôi hiểu rằng điều này là do tôi mồ côi người nghe nhưng tôi không thể thấy bất kỳ phương pháp phá hủy nào trên LocationListener cũng như tôi không thấy bất kỳ phương pháp kiểu "loại bỏ người nghe" nào trên đối tượng LocationManager.

Trả lời

14

Gọi removeUpdates trên LocationManager, chuyển người nghe vị trí của bạn.

+0

WOW, mù tạm thời trên một phần của tôi ... –

+2

Có cách nào để làm điều này nếu bạn không lưu trữ người nghe như một thành viên? –

3

Tôi nghĩ rằng removeUpdates sẽ hữu ích.

mLocationManager.removeUpdates(mListener) 
+2

Có cách nào để thực hiện việc này nếu bạn không lưu trữ người nghe làm thành viên không? –

+2

KHÔNG, không có ... – matekm

6
mLocationManager.removeUpdates(mListener); 
Các vấn đề liên quan