百度地图sdk---地图定位功能的错误has leaked ServiceConnection com.baidu.location.LocationClient

这个问题是在使用百度地图定位功能的时候出现的出现这个问题的原因有两种


具体是什么原因可以根据App的情况来判断。


1 .如果你的定位功能并没有实现,也就是无法定位到当前的位置(一直显示北京地图),这说明你没有注册 Service

androidmanifest文件中application节点下添加

 <service
            android:name="com.baidu.location.f"
            android:enabled="true"
            android:permission="android.permission.BAIDU_LOCATION_SERVICE"
            android:process=":remote" >
            <intent-filter>
                <action android:name="com.baidu.location.service_v2.6" />
            </intent-filter>
        </service>

2.还有一种问题就是 你可以实现定位了,但是在销毁当前Activity的时候 logcat会打印出错误  XXXXX  has leaked ServiceConnection com.baidu.location.LocationClient


这个时候就是说明你的 定位服务的生命周期出现了问题,


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

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

	@Override
	protected void onDestroy() {

		// 退出时销毁定位
		mLocClient.stop();
		// 关闭定位图层
		mBaiduMap.setMyLocationEnabled(false);
		mMapView.onDestroy();
		mMapView = null;
		super.onDestroy();
	}

}
你要在 Activity生命周期onDestroy()方法的时候,同时 结束 定位服务的生命周期。


原文 :http://blog.csdn.net/zhenye1986/article/details/12781683


这篇文章中只是归纳了一下,问题出现时候的“症状”,以及对应的原因。


评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值