Я начал писать приложение, которое предоставляет пользователю форму HTML через WebView. Поскольку форма не находится под моим контролем, заполненные данные могут быть отправлены как GET, так и POST-запрос. Мое приложение должно захватывать данные переносимой формы, то есть задерживать то, что было введено в поля формы.Возможно ли получить доступ к данным HTML-формы, отправленным через WebView?
Используя адекватный обратный вызов из WebViewClient, такой как onPageLoaded()
, легко получить данные формы из запроса GET. Тем не менее, я не могу найти подходящий метод, позволяющий делать то же самое для POSTED-данных, то есть иметь возможность доступа к телу сообщения HTTP POST, содержащему данные формы. Я пропустил соответствующий обратный вызов здесь или нет простого пути для достижения указанной цели с данным API (даже последний уровень 8)?
Предполагая, что это невозможно, я рассмотрел вопрос о переопределении и расширении частей android.webkit, чтобы ввести новый крюк обратного вызова, который каким-то образом передается POST-корпусом. Таким образом, мое приложение может быть отправлено с помощью настроенного браузера/WebViewClient, который выполняет желаемую функцию. Тем не менее, я не мог найти хорошего места для начала в коде и был бы рад любым намекам в этом отношении (в случае, если подход выглядит перспективным вообще).
Заранее благодарен!
На самом деле, я, возможно, нашли способ себя: Должна быть возможность вводить некоторые JavaScript, который разбирает поля формы, когда пользователь отправляет форму. Приведенный интерфейс Javascript-to-Java затем должен быть способен переносить заполненные данные обратно в пространство Java для дальнейшей обработки. Попробуй этот подход и сообщите об этом. Конечно, любые дальнейшие отзывы по-прежнему приветствуются! –