使用webview.loadUrl(url)
方法我打开一个网址。如果我点击视图中的任何Button
,它会指向另一个页面。现在我想获得有向页面的网址。我怎么能得到它?
我还想要在webview上显示的内容。如何获取WebView
的内容?
答案 0 :(得分:25)
请看我的回答 它可以帮助你...... !!!!
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);
}
});
答案 1 :(得分:11)
String webUrl = webView.getUrl();
如果您的意思是内容是网页来源,那么您可以参考:https://stackoverflow.com/a/6503817/28557
答案 2 :(得分:9)
我假设你设置了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
中获取当前网址。
答案 3 :(得分:0)
这是处理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方法来打电话。我想要注意这一点,因为在页面加载完成时会调用它。