Java Webview显示不需要的对话框

Java Webview显示不需要的对话框,java,android,url,webview,Java,Android,Url,Webview,我正在尝试在webview中打开网页。页面加载成功,但有时会显示“安装UC浏览器”对话框,如下图所示 对话框截图 代码如下: webView=(WebView)findViewById(R.id.webView); webView.getSettings().setJavaScriptEnabled(true); webView.setWebChromeClient(new WebChromeClient() { @Override

我正在尝试在webview中打开网页。页面加载成功,但有时会显示“安装UC浏览器”对话框,如下图所示

对话框截图

代码如下:

webView=(WebView)findViewById(R.id.webView);
        webView.getSettings().setJavaScriptEnabled(true);
        webView.setWebChromeClient(new WebChromeClient() {
            @Override
            public boolean onJsAlert(WebView view, String url, String message, JsResult result) {
                //Required functionality here
                return super.onJsAlert(view, url, message, result);
            }

        });


        if (Build.VERSION.SDK_INT >= 19) {
            webView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
        }

        webView.setWebViewClient(new AppWebViewClients());
        webView.loadUrl("page_url");
我必须启用java脚本,因为页面中几乎没有验证。

请尝试使用此脚本

public void setWebViewClient(WebViewClient client) {
mWebViewClient = client;
}

而不是setWebChromeClient

如果您正在开发一个WebView,它不需要太多的功能,但需要呈现HTML,那么您可以使用WebViewClient

webView.getSettings().setPluginsEnabled(true);
    webView.getSettings().setAllowFileAccess(true);
    webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(false);

我问过其他有同样问题的人,也许你可以试试:

  • 检查服务器端JS文件或任何其他插件
  • 检查是否有任何其他已安装的应用程序(其软件包名称如com.UCMobile.)尝试禁用或卸载它们

您正在使用UC浏览器吗?@ShanmugavelGK No.在我的手机中,只安装了chrome和设备默认浏览器。两者我都无法卸载。
onJsAlert
您是否尝试过在此方法中设置断点以检查它是否是显示消息的断点?@Nirav尝试打开的网站可能存在创建此对话框的恶意代码。我想,由于我不喜欢网络,这种对话通常利用Java脚本。尝试检查站点是否有任何不需要的脚本。这主要是特定站点上的重定向广告软件。大多数时候,除了关闭那个选项卡,你不能对这些弹出窗口做任何事情。我必须把chrome客户端放进去,因为必须对必填字段进行验证。当用户在webview中单击Submit按钮时,它将显示带有消息的对话框。您是否添加了这两行webview.setWebViewClient(新的MyWebViewClient());setWebChromeClient(新的MyWebChromeClient());我在问题中加入了代码。是,我添加了两行,这两行有点问题?相同的对话框显示以安装UC browser.OK。验证码在那里。我认为由于验证码,它显示uc浏览器对话框。