如何从android中的Web视图获取当前页面URL

使用webview.loadUrl(url)方法我打开一个url。 如果我单击视图上的任何Button ,它将指向另一个页面。 现在我想得到定向页面的url。 我怎么才能得到它?

我还想要在webview上显示的内容。 如何获取WebView的内容?

请看我的回答可能会对你有所帮助…… !!!!

 WebView webview = new WebView(context); webview.setWebViewClient(new WebViewClient() { @Override public void onPageStarted(WebView view, String url, Bitmap favicon) { super.onPageStarted(view, url, favicon); Log.d("WebView", "your current url when webpage loading.." + url); } @Override public void onPageFinished(WebView view, String url) { Log.d("WebView", "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); } }); 
 String webUrl = webView.getUrl(); 

如果你的意思是内容是页面来源,那么你可以参考: https : //stackoverflow.com/a/6503817/28557

我假设您已经设置了WebViewClient 。如果没有,那么您可以在下面执行此操作,

 webView.setWebViewClient(new MyWebViewClient()); String currentUrl; private class MyWebViewClient extends WebViewClient { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { currentUrl=url; return true; } } 

在这里当你单击WebView上的任何链接时,它将调用shouldOverrideUrlLoading() ,你可以在currentUrl获取当前的url。

对于API> 20,这是处理此问题的最简单方法:显然其他方法使用像HTMLCleaner这样的解析器来获得更多控制权。 但是,获取URL非常简单。 每次URL在Webview中更改时,请求对象中的URL也会更改。

 @Override public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) { String temp = request.getUrl().toString(); if(temp.isEmpty()){ Log.i(ActivityName, "No url returned!"); }else{ Log.i(ActivityName, temp); } return false; } 

你也可以通过覆盖webviewclient的onpagefinished方法来打电话。 我想要注意这一点,因为在页面加载完成时会调用它。