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

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


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


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

androidmanifest文件中application节点下添加

[java]  view plain copy
  1. <service  
  2.            android:name="com.baidu.location.f"  
  3.            android:enabled="true"  
  4.            android:permission="android.permission.BAIDU_LOCATION_SERVICE"  
  5.            android:process=":remote" >  
  6.            <intent-filter>  
  7.                <action android:name="com.baidu.location.service_v2.6" />  
  8.            </intent-filter>  
  9.        </service>  

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


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


[java]  view plain copy
  1.     @Override  
  2.     protected void onPause() {  
  3.         mMapView.onPause();  
  4.         super.onPause();  
  5.     }  
  6.   
  7.     @Override  
  8.     protected void onResume() {  
  9.         mMapView.onResume();  
  10.         super.onResume();  
  11.     }  
  12.   
  13.     @Override  
  14.     protected void onDestroy() {  
  15.   
  16.         // 退出时销毁定位  
  17.         mLocClient.stop();  
  18.         // 关闭定位图层  
  19.         mBaiduMap.setMyLocationEnabled(false);  
  20.         mMapView.onDestroy();  
  21.         mMapView = null;  
  22.         super.onDestroy();  
  23.     }  
  24.   
  25. }  

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


另外,还有一个可能是权限问题,所以当出现该问题的时候查查权限的问题。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值