Cách dễ dàng để thực hiện điều này là sử dụng thuộc tính này cho AndroidManifest.xml
nơi bạn cho phép tất cả http
cho tất cả các yêu cầu:
<application android:usesCleartextTraffic="true">
</application>
Nhưng trong trường hợp bạn muốn có thêm một số cấu hình cho các liên kết khác nhau, ví dụ, cho phép http
một số tên miền nhưng không phải tên miền khác bạn phải cung cấp res/xml/networkSecurityConfig.xml
tệp.
Để thực hiện điều này trong Android 9 Pie, bạn sẽ phải đặt một thẻ networkSecurityConfig
Manifest application
như thế này:
<?xml version="1.0" encoding="utf-8"?>
<manifest ... >
<application android:networkSecurityConfig="@xml/network_security_config">
</application>
</manifest>
Sau đó, trong xml
thư mục của bạn, bây giờ bạn phải tạo một tệp có tên network_security_config
giống như cách bạn đã đặt tên trong Bản kê khai và từ đó, nội dung của tệp của bạn sẽ như thế này để kích hoạt tất cả các yêu cầu mà không cần mã hóa:
<?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>
Từ đó bạn tốt để đi. Bây giờ ứng dụng của bạn sẽ thực hiện các yêu cầu cho tất cả các loại kết nối. Để biết thêm thông tin về chủ đề này đọc ở đây .