百度地图定位功能的错误has leaked ServiceConnection 解决

首先感谢博主总结:

http://blog.csdn.net/u010940300/article/details/43488651

再次在博主的基础上补充说明:

1、androidmanifest文件中application节点下添加

备注: 新版的sdk 用这个

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

老版本的 用的是 这个:

        <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

  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.   

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


感谢博主分享,我先粘过来了哈




猜你喜欢

转载自blog.csdn.net/zww986736788/article/details/78778880