Tôi đã bắt đầu viết một ứng dụng cung cấp cho người dùng biểu mẫu HTML qua WebView. Vì biểu mẫu không nằm trong tầm kiểm soát của tôi, dữ liệu được điền vào có thể được gửi dưới dạng yêu cầu GET hoặc POST. Ứng dụng của tôi là bắt buộc để nắm bắt dữ liệu biểu mẫu được vận chuyển, tức là, giữ lại những gì đã được nhập vào các trường biểu mẫu.có thể truy cập dữ liệu biểu mẫu HTML được đăng thông qua WebView không?
Sử dụng gọi lại đầy đủ từ WebViewClient chẳng hạn như onPageLoaded()
, thật dễ dàng để nắm bắt dữ liệu biểu mẫu từ yêu cầu GET. Tuy nhiên, tôi không thể tìm thấy bất kỳ phương thức thích hợp nào để cho phép cùng một dữ liệu đã đăng, tức là, có thể truy cập vào nội dung thư HTTP POST chứa dữ liệu biểu mẫu. Tôi có thiếu một cuộc gọi lại có liên quan ở đây hay không đơn giản là không có cách nào để hoàn thành mục tiêu được chỉ định với API đã cho (ngay cả cấp 8 mới nhất)?
Giả sử nó không thể, tôi coi trọng và mở rộng các phần của android.webkit để giới thiệu một móc gọi lại mới được truyền qua cơ thể POST bằng cách nào đó. Bằng cách đó, ứng dụng của tôi có thể được vận chuyển bằng trình duyệt tùy chỉnh/WebViewClient đáp ứng được tính năng mong muốn. Tuy nhiên, tôi không thể tìm thấy bất kỳ vị trí nào tốt để bắt đầu bằng mã và sẽ rất vui vì bất kỳ gợi ý nào trong trường hợp này (trong trường hợp cách tiếp cận có vẻ đầy hứa hẹn).
Cảm ơn trước!
Thực ra, tôi có thể đã tìm ra một cách bản thân mình: Nó phải có khả năng tiêm một số JavaScript mà phân tích các các trường biểu mẫu khi người dùng gửi biểu mẫu. Giao diện Javascript-to-Java được cung cấp sau đó sẽ có khả năng chuyển dữ liệu đã điền trở lại vào không gian Java để xử lý tiếp. Sẽ thử cách tiếp cận đó và báo cáo lại. Tất nhiên, bất kỳ phản hồi nào khác vẫn được hoan nghênh! –