在Android P系統的設備上,如果應用使用的是非加密的明文流量的http網絡請求,則會導致該應用無法進行網絡請求,https則不會受影響,同樣地,如果應用嵌套了webview,webview也只能使用https請求。
針對這個問題,有以下三種解決方法:
(1)APP改用https請求
(2)targetSdkVersion 降到27以下
(3)更改網絡安全配置
前面兩個方法容易理解和實現,具體說說第三種方法,更改網絡安全配置。
1.在res文件夾下創建一個xml文件夾,然后創建一個network_security_config.xml文件,文件內容如下:
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<base-config cleartextTrafficPermitted="true" />
</network-security-config>
2.接着,在AndroidManifest.xml文件下的application標簽增加以下屬性:
<application
...
android:networkSecurityConfig="@xml/network_security_config"
...
/>
OK啦!!!