轉(zhuǎn)載請(qǐng)注明出處,謝謝http://blog.csdn.net/harryweasley/article/details/41575731
最近做1個(gè)gps項(xiàng)目的中途,遇到了1個(gè)問題,我調(diào)用locationManager.removeUpdates(listener)這個(gè)方法后,本以為gps定位就會(huì)停止,但是并沒有停止gps定位功能,gps信號(hào)欄里的還是繼續(xù)在閃爍,以后就各種百度,也找不到正確的解決方法,然后又去翻墻繼續(xù)谷歌,終究找到了解決方法,在此記錄1下,幫助那些由于這個(gè)問題困惑的人。
首先,讓我們溫習(xí)1下正確關(guān)閉gps的3個(gè)步驟:
第1個(gè)步驟:
移除LocationListener
第2個(gè)步驟:
將LocationManager置為null
第3個(gè)步驟:
將LocationListener置為null
下面是正確關(guān)閉gps的代碼,名字是由你自己定的
第1個(gè)緣由:這個(gè)是最多見,也是最使人懊喪的緣由了。你可能成心或無意的實(shí)例化了多個(gè)LocationManager。最簡(jiǎn)單的避免這個(gè)毛病的方法是,將實(shí)例LocationManager這個(gè)代碼放在onResume()事件里面,同時(shí)在onPause()方法中關(guān)閉它。仔細(xì)的控制被你打開的LocationManager并及時(shí)關(guān)閉它。當(dāng)你在不同的Activity之間LocationManager,你1定要留意。如果LocationManager正在運(yùn)行,你又實(shí)例化了1個(gè),那末你將不能夠如愿用代碼關(guān)閉它,你就只能通過手動(dòng)來關(guān)閉它。
第2個(gè)緣由:多是你手機(jī)上的其他的APP已致使這個(gè)LocationManager運(yùn)行中,那末很明顯,它將不會(huì)通過你的app來關(guān)閉,屢次檢查已消除這個(gè)可能性,確保你已關(guān)閉其他所有的可能用到gps定位的APP。