首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Android 百度定位 SDK 常見問題排查指南

     編輯:程式設計綜合問答

問題一:TextView 不顯示定位結果

原因:LocationClient 初始化位置錯誤,代碼放在 onDestroy() 中,導致定位服務未啟動即銷毀。

修正:在 onCreate() 或 onStart() 初始化並啟動:

mLocationClient = new LocationClient(getApplicationContext());
mLocationClient.registerLocationListener(myListener);
mLocationClient.start();

問題二:App 啟動自動定位(無需點擊按鈕)

將啟動定位代碼移至 onCreate() 或 onResume():

@Override
protected void onResume() {
    super.onResume();
    if (mLocationClient != null && !mLocationClient.isStarted()) {
        mLocationClient.start();
    }
}

問題三:權限彈窗能否自動同意?

不能。Android 6.0+ 強制運行時權限,用戶必須手動授權。Google Play 政策禁止靜默獲取敏感權限。

正確做法:

  1. 在 onRequestPermissionsResult 處理授權結果。
  2. 用 try-catch 包裹定位啟動代碼,捕獲 SecurityException,提示用戶去設置頁面手動開啟。
  3. 引導用戶:Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS)。

關鍵配置檢查清單

  • AndroidManifest.xml 聲明 ACCESS_FINE_LOCATION、ACCESS_COARSE_LOCATION、INTERNET、READ_PHONE_STATE。
  • meta-data 配置 com.baidu.lbsapi.API_KEY。
  • 服務聲明:<service android:name="com.baidu.location.f" />。
  • 混淆規則保留百度定位相關類。

參考教程

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved