繁体   English   中英

如何在 Java 中使用 WebResourceRequest 获取 WebView 的 URL?

[英]How to get Url of the WebView using WebResourceRequest in Java?

我有这些代码:

   public class MyAppWebViewClient extends WebViewClient {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
            //want url of the webview in here
        }

我只想知道,如何获取 webView 的 Url 来覆盖 Url 加载。 shouldOverrideUrlLoading(WebView view, String url)方法。

提前致谢!

\\Android\\sdk\\sources\\android-25\\android\\webkit\\WebViewClient.java 中,您可以看到此代码。

对您的问题的简短回答是: request.getUrl().toString()

检查GrepCode上的来源

boolean shouldOverrideUrlLoading (WebView view, String url)在 API 24 中被弃用, boolean shouldOverrideUrlLoading (WebView view, WebResourceRequest request)添加到 API level 24

        @RequiresApi(api = Build.VERSION_CODES.N)
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
            if(Uri.parse(request.getUrl().toString()).getHost().endsWith("google.com")) {
                //The host application wants to leave the current WebView and handle the url itself. 
                return true;
            }

            if(Uri.parse(request.getUrl().toString()).getHost().endsWith("yandex.com")) {                    
                //The current WebView handles the url. 
                return false;
            }               

            if(Uri.parse(request.getUrl().toString()).getScheme().equals("file")) {
                //The current WebView handles the url. 
                return false;
            }

            Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(request.getUrl().toString()));
            view.getContext().startActivity(intent);
            return true;
        }
private String cUrl = "";

cUrl = webView.getUrl();

然后你可以在任何你想要的地方使用它。

请看我的回答可能对你有帮助...!!!!

WebView webview = new WebView(context);
webview.setWebViewClient(new WebViewClient()
        {
            @Override
            public void onPageStarted(WebView view, String url, Bitmap favicon) {
                super.onPageStarted(view, url, favicon);

                System.out.println("your current url when webpage loading.." + url);
            }

            @Override
            public void onPageFinished(WebView view, String url) {
                System.out.println("your current url when webpage loading.. finish" + url);
                super.onPageFinished(view, url);
            }

            @Override
            public void onLoadResource(WebView view, String url) {
                // TODO Auto-generated method stub
                super.onLoadResource(view, url);
            }
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                System.out.println("when you click on any interlink on webview that time you got url :-" + url);
                return super.shouldOverrideUrlLoading(view, url);
            }
        });

如何从android的web视图中获取当前页面的url

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM