Я отображаю веб-страницу в веб-представлении и на веб-странице, существует кнопка. При нажатии кнопки диалоговое окно подтверждения, как предполагается, раскрывается, но это не показывает в моем веб-представлении. Это действительно раскрывается, если я перехожу к той же веб-странице в браузере андроида. Кто-либо знает, как обработать раскрывающиеся диалоговые окна, прибывающие из веб-страницы в Вашем веб-представлении?
Хорошо, нашел ответ и вот он!
Для обработки всплывающего подтверждения, поступающего с веб-страницы в вашем WebView, вам необходимо переопределить метод onJsConfirm в WebChromeClient, чтобы отображать всплывающее окно как диалоговое окно Android Alert. Вот код для этого.
final Context myApp = this;
final class MyWebChromeClient extends WebChromeClient {
@Override
public boolean onJsConfirm(WebView view, String url, String message, final JsResult result) {
new AlertDialog.Builder(myApp)
.setTitle("App Titler")
.setMessage(message)
.setPositiveButton(android.R.string.ok,
new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog, int which)
{
result.confirm();
}
})
.setNegativeButton(android.R.string.cancel,
new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog, int which)
{
result.cancel();
}
})
.create()
.show();
return true;
}
}
Не забудьте установить свой WebChromeClient в своем WebView ...
mWebView.setWebChromeClient(new MyWebChromeClient());
Примечание ... это не мой код, но я нашел его, и он отлично работает для обработки диалоговых окон подтверждения javascript в WebView!
Ура!