当前位置: 首页 > 知识库问答 >
问题:

WebView链接未打开

斜成济
2023-03-14
menuView.setWebViewClient(new WebViewClient() {
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            super.shouldOverrideUrlLoading(view, url);
            Toast.makeText(getApplicationContext(), "url:--" + url, Toast.LENGTH_LONG).show();          
            view.loadUrl(url);
            return false;
    }

    });

我已经设置的属性有:

MenuView.SetVerticalScrollBarEnabled(false);

    menuView.setHorizontalScrollBarEnabled(false);

    final WebSettings webSettings = menuView.getSettings();
    menuView.getSettings().setJavaScriptEnabled(true);
    webSettings.setJavaScriptCanOpenWindowsAutomatically(true);
    webSettings.setSupportMultipleWindows(true);

    webSettings.setPluginState(PluginState.ON);
    webSettings.setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN);

    menuView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
    menuView.getSettings().setBuiltInZoomControls(true);
    // Below required for geolocation
    menuView.getSettings().setJavaScriptEnabled(true);
    menuView.getSettings().setGeolocationEnabled(true);

    webSettings.setGeolocationEnabled(true);

    webSettings.setJavaScriptCanOpenWindowsAutomatically(true);

共有1个答案

闻修筠
2023-03-14
// in oncreate 
webview.setWebChromeClient(new wecrome());
webview.getSettings().setJavaScriptEnabled(true);
webview.getSettings().setLoadsImagesAutomatically(true);
webview.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
webview.setWebViewClient(new MyBrowser());
webview.getSettings().setPluginState(PluginState.ON);
webview.loadUrl("http://www.example.net/locations/");

//inner class 
private class MyBrowser extends WebViewClient {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            view.loadUrl(url);
            view.addJavascriptInterface(new Object() {
                @JavascriptInterface
                public void performClick() throws Exception {
                    Log.d("LOGIN::", "Clicked");
                    Toast.makeText(googleplus.this, "Login clicked",
                            Toast.LENGTH_LONG).show();
                }
            }, "login");
            return true;
        }

        @Override
        public void onPageStarted(WebView view, String url, Bitmap favicon) {
            // TODO Auto-generated method stub

            System.out.println("started");
            pd.show();
            super.onPageStarted(view, url, favicon);

        }

        @Override
        public void onPageFinished(WebView view, String url) {
            // TODO Auto-generated method stub
            pd.dismiss();
            System.out.println("ends");
            super.onPageFinished(view, url);

        }

    }
 类似资料:
  • 我最近实现了shouldInterceptRequest方法来检测链接的时间“http://sitemercado.com.br/valida“点击在android浏览器中打开它,而不是在webview中内部打开,直到它工作为止。链接在浏览器中打开,但当我回来查看webview应用程序时,它也被加载了,我希望它只在浏览器中加载。 我的代码如下: 我哪里做错了?

  • 在Flutter中,我使用Flutter webview插件启动一个url:

  • 我有一个非常简单的测试应用程序,上面有一个webview组件。我正试图阻止链接在浏览器中打开,但“shouldoverrideurlloading”看起来对我不起作用。 有人能帮我看看哪里有错误吗?

  • 问题内容: 在Unix中,可以通过以下方式创建匿名文件的句柄,例如,使用creat()创建和打开该文件,然后使用unlink()删除目录链接- 剩下一个带有inode和存储的文件,但是没有办法重新打开它。这些文件通常用作临时文件(通常这是tmpfile()返回给您的)。 我的问题:有什么办法可以将这样的文件重新附加到目录结构中?如果可以这样做,则意味着您可以例如执行文件写入操作,以使文件看起来原子

  • 问题是我可以加载YouTube网站,浏览视频, 但当我点击播放视频时,什么也不会发生。 视频就像被选中一样会出现橙色闪光, 谢谢

  • 我已经在我的设备上本地开发了一个android应用程序(应用程序还没有在android play商店上)。我有以下逻辑在主体活动中获得深度链接。 我用Firebase控制台建立了一些动态链接,并在手机浏览器中打开。但它不是打开我的应用程序并到达行字符串deepLink=appinvitereferral.getdeeplink(intent); 我在清单文件中有意图过滤器。

  • 问题内容: 我有一个简单的webview加载页面。该页面具有一些在Web视图中打开的链接。那是应该做的,所以一切正常。 但是该页面上只有一个链接应该作为弹出窗口加载,因此我希望人们单击它时可以在普通浏览器中打开它。但是正如我所说,所有链接都在Web视图中打开,因此该链接也可以这样做。 我的问题是,如何才能在普通浏览器中以弹出形式打开此链接?可能吗 链接是可变的,因此它总是在变化,不能在应用程序中进