2012-04-13 101 views

回答

1

如果你是在模擬器上測試這個,這是非常正常的行爲。狀態欄中的GPS圖標永遠不會消失。

如果您正在硬件上測試此功能,或者您多次呼叫requestLocationUpdates()(並且未刪除其他更新),或者硬件上的其他功能可能使用GPS。

+0

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

+0

雖然我對所有的requestLocationUpdates做removeUpdates我發起,它只發生在一些設備上,比如三星Galaxy S2。但似乎GPS閃爍的圖標在幾秒鐘後消失(通常少於30) – Erwan 2013-05-29 07:20:01

11

如果你在你的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(); 
} 
+2

這對我來說是答案。謝謝!對於更新後的Google Maps api,我做了這個:'map.setMyLocationEnabled(false);' – Robert 2015-09-15 23:22:16

3

除了上述問題的答案,在你所描述的情況,我想建議仔細檢查在項目中使用第三方庫,特別是一些分析庫。

我有一個大傷腦筋我才意識到,GPS圖標是由安裝不正確(FlurryAgent.setReportLocation(true)設置和onEndSession()沒有在onStop()調用)亂舞造成的。