我正在開發位置跟蹤應用程序。但我停止通過做2件事獲取位置更新...locationManager.removeUpdates()和locationManager設置爲空後,GPS圖標仍然閃爍
- locationManager.removeUpdates(this);和
- 將locationManager引用設置爲null。
這將停止獲取位置座標,因爲我想...
但問題是GPS圖標仍然閃爍..這將耗盡設備的電池。
所以,請幫我在停止該GPS定點...
我正在開發位置跟蹤應用程序。但我停止通過做2件事獲取位置更新...locationManager.removeUpdates()和locationManager設置爲空後,GPS圖標仍然閃爍
這將停止獲取位置座標,因爲我想...
但問題是GPS圖標仍然閃爍..這將耗盡設備的電池。
所以,請幫我在停止該GPS定點...
如果你是在模擬器上測試這個,這是非常正常的行爲。狀態欄中的GPS圖標永遠不會消失。
如果您正在硬件上測試此功能,或者您多次呼叫requestLocationUpdates()
(並且未刪除其他更新),或者硬件上的其他功能可能使用GPS。
如果你在你的mapView中顯示你的位置和/或指南針,你必須禁用它們。如果你不這樣做,GPS仍然有效。
例:
private MapView mapView;
private MyLocationOverlay Location;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.frame_layout);
mapView = (MapView) this.findViewById(R.id.mapView);
Location = new MyLocationOverlay(this, mapView);
Location.enableMyLocation();
Location.enableCompass();
mapView.getOverlays().add(Location);
}
@Override
public void onDestroy() {
Location.disableMyLocation();
Location.disableCompass();
}
這對我來說是答案。謝謝!對於更新後的Google Maps api,我做了這個:'map.setMyLocationEnabled(false);' – Robert 2015-09-15 23:22:16
除了上述問題的答案,在你所描述的情況,我想建議仔細檢查在項目中使用第三方庫,特別是一些分析庫。
我有一個大傷腦筋我才意識到,GPS圖標是由安裝不正確(FlurryAgent.setReportLocation(true)
設置和onEndSession()
沒有在onStop()
調用)亂舞造成的。
Thx先生,我在設備上測試..但我的代碼就像當計時器命中時,我要求locationManager通過locationManager.requestLocationUpdates(bestProvider,10 * 1000,1,listener)獲取更新;然後在聽者I HV寫入公共無效onLocationChanged(地點位置){ \t \t \t \t \t \t FileUtils.save(位置,mContext); \t \t \t locationManager.removeUpdates(this); \t \t \t \t \t}所以按我的意見也沒辦法,我的代碼請求更新了......所以,請告訴我任何代碼修改我HV做.. – NullPointerException 2012-04-14 09:46:57
雖然我對所有的requestLocationUpdates做removeUpdates我發起,它只發生在一些設備上,比如三星Galaxy S2。但似乎GPS閃爍的圖標在幾秒鐘後消失(通常少於30) – Erwan 2013-05-29 07:20:01