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

Android 爬蟲權限配置與主線程網絡請求雙重陷阱排查

     編輯:程式設計疑難解答

錯誤信息

java.lang.SecurityException: Permission denied (missing INTERNET permission?)

檢查清單

  1. Manifest 權限位置:<uses-permission android:name="android.permission.INTERNET" /> 必須是 <manifest> 直接子元素,不能在 <application> 內。
    <manifest ...>
        <uses-permission android:name="android.permission.INTERNET" />
        <application ...>...</application>
    </manifest>
  2. 網絡請求在主線程:Android 4.0+ 禁止主線程網絡 IO,需移至子線程。
    new Thread(() -> {
        Document doc = Jsoup.connect(url).get();
        runOnUiThread(() -> updateUI(doc));
    }).start();
    或使用 AsyncTask、RxJava、Kotlin 協程。
  3. 清單合併衝突:庫模塊也聲明權限,主模塊 tools:node="merge" 正確合併。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved