百度地图 - Android取消后台持续定位

6974

网上的方法

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

2:调用mLocClient.unRegisterLocationListener方法。//取消监听的方法不让后台定位,楼主只成功过一次所以不太靠谱不推荐使用

3 :moveTaskToBack(false);//将你应用移到后台,楼主认为和按HOME键的退到后台还是有一定区别的,此方法退到后台就像静止 了一样定位监听也不会触发

方法3要生效还需要做如下操作 ①清单文件中的百度定位服务不要添加,不要担心不会对你的定位造成影响.

android:name="com.baidu.location.f"

android:enabled="true"

android:process=":remote">

②管理你的百度地图的生命周期

@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) 方 法 失 效