我創建了一個應用程序,該應用程序具有「地理定位」功能,可以像在其他許多應用程序中一樣,在Google地圖上查找用戶。我使用「LocationManager.NETWORK_PROVIDER」來定位用戶,同時我實例化並啓動「MyLocationOverlay」(在onLocationChanged()
方法中)以獲取位置。由於第二個,GPS打開(在頂部閃爍),這是正常的。關閉應用程序後,GPS更新將不會關閉
問題是,應用程序關閉後(後退按鈕或通過任務管理器),GPS功能仍然掛在那裏,試圖獲取更新。
如何在用戶離開活動後關閉它?我嘗試了來自這裏和其他論壇的建議,例如在方法onPause()
,onStop()
,onDestroy()
內放置locationManager.removeUpdates(this);
和locationManager.removeUpdates(mMyLocationOverlay);
。該方法OnPause
看起來是這樣的:
@Override
protected void onPause() {
super.onPause();
locationManager.removeUpdates(this);
locationManager.removeUpdates(mMyLocationOverlay);
}
(「本」引用我的類,它實現LocationListener的)
請,有人可以幫助我在離開活動後關閉GPS更新(它的擴展類MapActivity),但不關閉手機本身的GPS功能?
有趣的是,當我用MyLocationOverlay刪除部件時,GPS當然不會啓動,因此沒有問題。所以我很確定mMyLocationOverlay
是「不會停止」併產生問題的聽衆。
」GPS功能仍然掛在那裏,試圖獲取更新「 - 您是如何確定這一點的? – CommonsWare
通過手機上的GPS指示燈,開始活動時開始閃爍,但用戶離開活動時不會停止... – Leonidas
如果通過「手機」指「模擬器」,該圖標永遠不會消失。 – CommonsWare