Điều hướng phụ thuộc vào ghi đè proxy của WebView nên bắt đầu sau khi trình nghe hoàn tất của ghi đè chạy xong. Đặt nó rồi tải trang ngay lập tức khiến thao tác chạy đua với một bản cập nhật bất đồng bộ.

  1. Kiểm tra WebViewFeature.isFeatureSupported(WebViewFeature.PROXY_OVERRIDE). Hỗ trợ phụ thuộc vào cách triển khai WebView và thư viện AndroidX WebKit cũng như cấp API của Android. Xác định điều gì xảy ra khi không có nó; việc âm thầm đi trực tiếp có thể vô hiệu hóa tính năng.
  2. Xây dựng ProxyConfig mong muốn bằng các quy tắc proxy được ghi tài liệu, cú pháp điểm cuối và hành vi bỏ qua. Đối với điều hướng trang công khai được phép, hãy chọn một ứng viên từ danh sách proxy miễn phí có giao thức khớp với quy tắc mà cách triển khai WebView đó hỗ trợ. URL PAC, URI SOCKS và máy chủ trần là những đầu vào khác nhau.
  3. Gọi ProxyController.setProxyOverride() với cấu hình đó, một trình thực thi và một trình nghe hoàn tất. Bắt đầu điều hướng phụ thuộc từ đường dẫn hoàn tất.
  4. Khi ghi đè tạm thời kết thúc, xóa nó bằng clearProxyOverride() và xử lý cả việc hoàn tất bất đồng bộ của nó.

Hãy cho vòng đời đó một chủ sở hữu duy nhất. Cài đặt áp dụng cho các WebView trong toàn bộ tiến trình ứng dụng; thay đổi lặp đi lặp lại không thể mang lại lối thoát độc lập cho hai chế độ xem đồng thời. Các tiến trình khác và thư viện HTTP có tuyến riêng.

Giao diện được hỗ trợ này tránh phụ thuộc vào các trình nghe thay đổi proxy riêng tư khác nhau giữa các bản phát hành Android. Nó chọn định tuyến; thông tin đăng nhập proxy và tin cậy chứng chỉ vẫn dùng cơ chế được hỗ trợ của chúng. Lỗi xác thực hoặc TLS sau khi chọn cần được chẩn đoán ở giai đoạn đó.

Bài viết liên quan