1. 程式人生 > >百度地圖定位功能的錯誤has leaked ServiceConnection 解決

百度地圖定位功能的錯誤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.     protectedvoid onPause() {  
  3.         mMapView.onPause();  
  4.         super.onPause();  
  5.     }  
  6.     @Override
  7.     protectedvoid onResume() {  
  8.         mMapView.onResume();  
  9.         super.onResume();  
  10.     }  
  11.     @Override
  12.     protectedvoid onDestroy() {  
  13.         // 退出時銷燬定位
  14.         mLocClient.stop();  
  15.         // 關閉定點陣圖層
  16.         mBaiduMap.setMyLocationEnabled(false);  
  17.         mMapView.onDestroy();  
  18.         mMapView = null;  
  19.         super.onDestroy();  
  20.     }  

你要在 Activity生命週期onDestroy()方法的時候,同時 結束 定位服務的生命週期。

感謝博主分享,我先粘過來了哈