Как повторно отправить данные POST при использовании метода WebView.goBack ()? - PullRequest
2 голосов
/ 27 февраля 2012

Я работаю над приложением, в котором мы предоставляем пользователю возможность вернуться на ранее просмотренные пользователем веб-страницы.

Проблема возникает, когда пользователь возвращается на страницу, содержащую данные POST.

Я не знаю, как определить, что страница, загруженная в WebView, содержит данные POST, чтобы приложение могло запросить диалоговое окно подтверждения, хочет ли он повторно отправить данные POST или нет.

Я видел, как это происходит в браузерах Android [Native browser & Skyfire]

Заранее спасибо ...

1 Ответ

3 голосов
/ 09 марта 2012

После нескольких дней исследований я создал обходной путь, чтобы избавиться от этой ситуации.

Я устанавливаю флаг, когда вызывается WebView.goback().

В моем методе onProgressChanged() я проверяю, совпадает ли загружаемый URL с URL, который должен содержать POST DATA, затем я вызываю WebView.reload(), я устанавливаю свой флаг в false и также переопределяю метод onFormResubmission WebViewClient таким образом:

@Override
public void onFormResubmission (WebView view, Message dontResend,Message resend){
    resend.sendToTarget();
}

Для получения более подробной информации, посетите: http://mytechead.wordpress.com/2012/03/08/resubmit-post-data-in-a-webview/

...