2010-01-19 14 views
5

LocationManager से अपडेट प्राप्त करने से मैं LocationListener की सदस्यता कैसे रद्द करूं?स्थान प्रबंधक से स्थान लिस्टर को सदस्यता छोड़ना

यहाँ कैसे मैं इसे सेट कर रहा हूं अप

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 विंडो में लॉग संदेशों हो रही है से बाहर निकल गया है।

मैं समझता हूँ कि इस वजह से मैं श्रोता orphaning रहा हूं, लेकिन मैं किसी भी LocationListener पर विधि को नष्ट और न ही मैं LocationManager वस्तु पर किसी भी "श्रोता को दूर" शैली तरीकों को देख सकते हैं नहीं देख सकता।

उत्तर

14

स्थानमैनेजर पर removeUpdates पर कॉल करें, अपना स्थान श्रोता पास करें।

+0

वाह, मेरी ओर से अस्थायी अंधापन ... –

+2

वहाँ ऐसा करने अगर आप एक सदस्य के रूप में श्रोता भंडारण नहीं कर रहे हैं की कोई तरीका है? –

3

मुझे लगता है कि removeUpdates मदद करनी चाहिए।

mLocationManager.removeUpdates(mListener) 
+2

यदि आप श्रोता को सदस्य के रूप में संग्रहित नहीं कर रहे हैं तो ऐसा करने का कोई तरीका है? –

+2

नहीं, कोई नहीं है ... – matekm

6
mLocationManager.removeUpdates(mListener);