gpt4 book ai didi

android - 如何处理 webview 确认对话框?

转载 作者:IT老高 更新时间:2023-10-28 23:09:24 28 4
gpt4 key购买 nike

我在 WebView 中显示网页,在网页上,有一个按钮。当您单击按钮时,应该会弹出一个确认对话框,但它不会显示在我的 WebView 中。如果我在 android 浏览器中访问相同的网页,它会弹出。任何人都知道如何处理来自 WebView 内网页的弹出对话框?

最佳答案

好的,找到答案了!

为了在 WebView 中处理来自网页的弹出确认,您需要覆盖 WebChromeClient 中的 onJsConfirm 方法,以将弹出窗口显示为 Android 警报对话框。这是执行此操作的代码。

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;
}
}

别忘了在你的 WebView 中设置你的 WebChromeClient...

    mWebView.setWebChromeClient(new MyWebChromeClient());

注意.. 这不是我的代码,但我找到了它,它非常适合在 WebView 中处理 javascript 确认对话框!

干杯!

关于android - 如何处理 webview 确认对话框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2726377/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com