我正在为我的应用程序制作一个 webView,但每次当我尝试启动链接时,例如(whatsaap、twitter、viber),然后 whatsaap 链接正常工作



只有whtatsaap有效,而不是twitter或viber。此外,当我点击应用程序上的其他链接时,它会在浏览器中打开,而不是在应用程序中。此外,当我删除推特或viber链接代码时,它会在应用程序中打开,但一旦我应用推特链接代码,它就会再次打开不在应用程序内的浏览器,viber代码根本不起作用请帮忙这是代码

区块报价

        webView.getSettings().setJavaScriptEnabled(true);
        webView.getSettings().setBuiltInZoomControls(true);
        webView.getSettings().setAllowFileAccess(true);
        webView.getSettings().setBuiltInZoomControls(true);
        webView.getSettings().setDisplayZoomControls(false);
        webView.getSettings().setLoadWithOverviewMode(true);
        webView.getSettings().setUseWideViewPort(true);

        webView.setWebViewClient(new WebViewClient(){
            @Override
            public boolean shouldOverrideUrlLoading(WebView wv, String url) {
                System.out.println("hERE IS VALUE OF WebView OBJECT "+ wv);
                System.out.println("hERE IS VALUE OF URL "+ url);
                try {
                 if (url.startsWith("tel:") || url.startsWith("whatsapp:")) {
                     System.out.println("URL SHOW MR whatsaap  ++++++++  " + url);
                     Intent intenti = new Intent(Intent.ACTION_VIEW);
                     intenti.setData(Uri.parse(url));
                     startActivity(intenti);
                     return false;
                 }
                    if (url.startsWith("telegram:")){
                    System.out.println("URL SHOW MR  TELEGRAM  ++++++++  " + url);
                    Intent intent = new Intent(Intent.ACTION_VIEW);
                    intent.setData(Uri.parse(url));
                    startActivity(intent);
                    return false;}
                    if (url.startsWith("viber:")){
                    System.out.println("URL SHOW ME  VIBER  ++++++++  " + url);
                    Intent i = new Intent(Intent.ACTION_VIEW);
                    i.setData(Uri.parse(url));
                    startActivity(i);}
                }
                catch ( Exception e)
                {}
                return false;
            }
        } );
        webView.loadUrl("https://example.co.in/");
    }

区块报价

尝试使用(webView.stopLoad(((示例

if (url.startsWith("tel:") || url.startsWith("whatsapp:")) {
                    System.out.println("URL SHOW MR whatsaap  ++++++++  " + url);
                    Intent intenti = new Intent(Intent.ACTION_VIEW);
                    intenti.setData(Uri.parse(url));
                    startActivity(intenti);
                    webView.stopLoading();
                    return false;
                }

适用于我的最佳解决方案

        @Override
        public boolean shouldOverrideUrlLoading(WebView wv, WebResourceRequest request) {
            String url = request.getUrl().toString();
            
            Intent i = new Intent(Intent.ACTION_VIEW);
            i.setData(Uri.parse(url));
            startActivity(i);
            return true;
        }

最新更新