zoukankan      html  css  js  c++  java
  • Android 9 请求网络报异常:Cleartext HTTP traffic not permitted

    因为从Android9.0(API 28)开始,NetworkSecurityPolicy.getInstance().isCleartextTrafficPermitted(), 将return false。这表示Android默认将禁止明文访问网络,只允许使用https url访问

    为了避免强制启用https,可以有以下几种做法(任选其一即可):

    • AndroidManifest文件的application节点添加android:usesCleartextTraffic="true"

       <?xml version="1.0" encoding="utf-8"?>
       <manifest ...>
           <uses-permission android:name="android.permission.INTERNET" />
           <application
               ...
               android:usesCleartextTraffic="true"
               ...>
               ...
           </application>
       </manifest>
    • AndroidManifest文件的application节点添加android:networkSecurityConfig="@xml/network_security_config"

      <?xml version="1.0" encoding="utf-8"?>
       <manifest ...>
           <uses-permission android:name="android.permission.INTERNET" />
           <application
               ...
               android:networkSecurityConfig="@xml/network_security_config"
               ...>
               ...
           </application>
       </manifest> 

      还需要新建res/xml/network_security_config.xml 文件:

       <?xml version="1.0" encoding="utf-8"?>
       <network-security-config>
           <domain-config cleartextTrafficPermitted="true">
               <domain includeSubdomains="true">Your URL(ex: 127.0.0.1)</domain>
           </domain-config>
       </network-security-config>
    • 在AndroidManifest文件的manifest节点添加android:targetSandboxVersion="1":
       <?xml version="1.0" encoding="utf-8"?>
       <manifest android:targetSandboxVersion="1">
           <uses-permission android:name="android.permission.INTERNET" />
           ...
       </manifest>

    以上三种做法均可以让我们的应用继续使用明文访问网络,不过既然Android强制要求启用https,还是尽快迁移到https为妙。

  • 相关阅读:
    Codeforces Round #644 (Div. 3)(A~G)
    【】BZOJ3687: 简单题(dp+bitset)
    [LeetCode] 275. H-Index II
    [LeetCode] 1028. Recover a Tree From Preorder Traversal
    [LeetCode] 1014. Best Sightseeing Pair
    [LeetCode] 468. Validate IP Address
    [LeetCode] 701. Insert into a Binary Search Tree
    [LeetCode] 658. Find K Closest Elements
    [LeetCode] 787. Cheapest Flights Within K Stops
    [LeetCode] 1300. Sum of Mutated Array Closest to Target
  • 原文地址:https://www.cnblogs.com/ring1992/p/13433921.html
Copyright © 2011-2022 走看看