Android 9 Pie:http及https的網路連線問題
阿新 • • 發佈:2019-01-31
最近在將應用執行在Android 9裝置上時,發現http網路請求沒有任何的響應。
預設情況下啟用網路傳輸層安全協議 (TLS)
如果您的應用以 Android 9 或更高版本為目標平臺,則預設情況下 isCleartextTrafficPermitted()
函式返回 false
。 如果您的應用需要為特定域名啟用明文,您必須在應用的網路安全性配置中針對這些域名將 cleartextTrafficPermitted
顯式設定為 true
。
第一步:在清單檔案AndroidManifest.xml的application標籤裡面設定networkSecurityConfig屬性如下:
<?xml version="1.0" encoding="utf-8"?>
<manifest ... >
<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> <base-config cleartextTrafficPermitted="true"> <trust-anchors> <certificates src="system" /> </trust-anchors> </base-config> </network-security-config>