сообщение о форме веб-просмотра Android

#android #android-webview #webviewclient

#Android #android-webview #webviewclient

Вопрос:

Я хочу написать прокси-сервер формы в своем приложении. HTML-файл хранится локально, а код формы является

 <form action="custom" method="POST" />
  

Мой пользовательский WebView должен по-другому обрабатывать тег действия. Таким образом, пользовательский должен быть перенаправлен на другой URL, в зависимости от пользовательских настроек в моем приложении.

Я написал пользовательский, WebView и где я переопределяю postUrl , но он никогда не запускается. Я также попробовал пользовательский WebViewClient и переопределить shouldOverrideUrlLoading , но это также не сработало.

Какой метод я должен переопределить, чтобы изменить URL-адрес моего сообщения и CONTENT-TYPE для моего формуляра?

Редактировать: я нашел https://code.google.com/p/android/issues/detail?id=9122 и я думаю, что никто не нашел решения этой проблемы. Это действительно плохо.

Ответ №1:

Внедрите javascript в WebView сразу после загрузки страницы и измените действие формы, используя его. Вы можете просто ввести javascript, вызвав WebView.loadUrl(«javascript:…»);

Комментарии:

1. Я не хотел WebView отправлять данные формы. Мое приложение должно отправлять данные, потому что я хочу обрабатывать сообщения об ошибках и т.д. в нем.

2. В этом случае используйте аналогичный метод, введите javascript, но не меняйте атрибут action и вместо этого добавьте onsubmit с функцией из вашего собственного JavascriptInterface в форму. С помощью JavascriptInterface вы можете перехватить отправку формы и действовать соответствующим образом.

3. Это может быть возможным способом. Я проверю это.