1. 程式人生 > >Android百度地圖開發之取消後臺持續定位

Android百度地圖開發之取消後臺持續定位

網上的方法

1:注掉option.setScanSpan(1000);//注掉後只定位一次,感覺不太好

2:呼叫mLocClient.unRegisterLocationListener方法。//取消監聽的方法不讓後臺定位,樓主只成功過一次所以不太靠譜不推薦使用

3 :moveTaskToBack(false);//將你應用移到後臺,樓主認為和按HOME鍵的退到後臺還是有一定區別的,此方法退到後臺就像靜止 了一樣定位監聽也不會觸發

方法3要生效還需要做如下操作 ①清單檔案中的百度定位服務不要新增,不要擔心不會對你的定位造成影響. 

<service 
    android:name="com.baidu.location.f" 
    android:enabled="true" 
    android:process=":remote"> 
</service>

②管理你的百度地圖的生命週期

@Override 
protected void onStart() { 
    super.onStart(); 
    mLocClient.start(); 
} 

@Override 
protected void onPause() { 
    mMapView.onPause();
    mLocClient.stop(); 
    
    super.onPause(); 
} 

@Override 
protected void onResume() { 
    mMapView.onResume(); 
    super.onResume(); 
} 

@Override 
protected void onDestroy() { 
    // 退出時銷燬定位 
    mLocClient.stop(); 
    // 關閉定點陣圖層 
    mBaiduMap.setMyLocationEnabled(false); 
    mMapView.onDestroy(); 
    mMapView = null; 
} 

③若你可以重寫HOME鍵(請聯絡樓主) 將moveTaskToBack(false);放此方法中既可 樓主沒有找到重寫HOME鍵的方法採用了判斷程式在前臺還是後臺的方法具體程式碼就不貼出來了,網上有許多如需要留言給我發你

④option.setScanSpan(5000)//設定5秒左右,不要設定1秒重新整理一次,1秒一次會導致moveTaskToBack(false) 方 法 失 效