解決“locationManager.removeUpdates()關閉不了gps定位”的方法,locationmanager

來源:互聯網
上載者:User

解決“locationManager.removeUpdates()關閉不了gps定位”的方法,locationmanager

轉載請註明出處,謝謝http://blog.csdn.net/harryweasley/article/details/41575731

最近做一個gps項目的中途,遇到了一個問題,我調用locationManager.removeUpdates(listener)這個方法後,本以為gps定位就會停止,但是並沒有停止gps定位功能,gps訊號欄裡的還是繼續在閃爍,之後就各種百度,也找不到正確的解決方案,然後又去翻牆繼續Google,最終找到瞭解決方法,在此記錄一下,協助那些因為這個問題困惑的人。

首先,讓我們複習一下正確關閉gps的三個步驟:

第一個步驟:

移除LocationListener

第二個步驟:

將LocationManager置為null

第三個步驟:

將LocationListener置為null


下面是正確關閉gps的代碼,名字是由你自己定的

if(_locationManager != null){     _locationManager.removeUpdates(<span style="font-family: Arial, Helvetica, sans-serif;">_locationListener</span>);      _locationManager = null; } if(_locationListener != null) {     _locationListener = null; }
如果這些步驟不起作用,你的gps訊號還是在閃爍的話,下面有潛在的兩個問題來解決:

第一個原因:這個是最常見,也是最令人沮喪的原因了。你可能有意或無意的執行個體化了多個LocationManager。最簡單的避免這個錯誤的方法是,將執行個體LocationManager這個代碼放在onResume()事件裡面,同時在onPause()方法中關閉它。仔細的控制被你開啟的LocationManager並及時關閉它。當你在不同的Activity之間LocationManager,你一定要留心。如果LocationManager正在運行,你又執行個體化了一個,那麼你將不能夠如願用代碼關閉它,你就只能通過手動來關閉它。

第二個原因:可能是你手機上的其他的APP已導致這個LocationManager運行中,那麼很顯然,它將不會通過你的app來關閉,多次檢查已消除這個可能性,確保你已經關閉其他所有的可能用到gps定位的APP。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.