Android Can';无法在应覆盖的webview中获取url

Android Can';无法在应覆盖的webview中获取url,android,android-activity,webview,Android,Android Activity,Webview,我正在开发一个android应用程序,其中有一个网络视图 URL是指在webview中单击帖子时,帖子URL没有进入,但webview将facebook重定向到该特定帖子webviewclient的shouldoverriding方法中的URL有什么问题 Here I am Setting the Custom WebView Client webView.setWebViewClient(new WebViewController()); public class WebViewCont

我正在开发一个android应用程序,其中有一个网络视图

URL是指在webview中单击帖子时,帖子URL没有进入,但webview将facebook重定向到该特定帖子webviewclient的shouldoverriding方法中的URL有什么问题

Here I am Setting the Custom WebView Client 

webView.setWebViewClient(new WebViewController());

public class WebViewController extends WebViewClient {
@Override
        public boolean shouldOverrideUrlLoading(WebView webView, String str) {
            Log.e("urltop", str + " ==top");
            String str3 = "youtube";
            if (!str.contains("market://")) {
                if (!str.contains("mailto:") && !str.contains("play.google") && !str.contains("tel:") && !str.contains("intent:") && !str.contains("vid:") && !str.contains(str3) && !str.contains("fb-messenger://")) {
                    if (!str.contains("whatsapp://")) {
                        if (str.contains("m.me")) {
                            Log.e("urlm.me", str);
                            return true;
                        } else if (str.contains("jpg")) {
                            Log.e("urljpg", str);
                            return true;
                        }
                        return true;
                    } else {
                        Log.e("url", str);
                    }
                }
            }
            return true;
        }

提前感谢:)

您需要检查和使用

通过使用WebViewClient,您可以监视用户使用WebView执行的任何操作。现在,由于要检测URL单击并希望基于它启动新活动,请选中:


查看网页中的WebViewClient示例。

仅使用
应覆盖以下内容:

public class MyWebViewClient extends WebViewClient {
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        if (url.equals("YOURLINK")) {
            Intent intent = new Intent(getContext(), YourActivity.class);
            startActivity(intent);
            return true; // Handle By application itself
        } else {
            view.loadUrl(url);
            return true;
        }
    }
}

您必须查看地址。

您应该使用@JackTurky给出的解决方案。这肯定会奏效。谢谢。。。它帮助了我……)。。。。我只需要将getContext()编辑为MainActivity。这和其他都起作用了!当你想要控制时,只需将返回类型从false改为true。From doc:
如果提供了WebViewClient,则返回true表示主机应用程序处理url,而返回false表示当前WebView处理url