[英]How to get Url of the WebView using WebResourceRequest in Java?
I have these codes:我有这些代码:
public class MyAppWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
//want url of the webview in here
}
I just want to know, how can I obtain the Url of the webView to override the Url loading.我只想知道,如何获取 webView 的 Url 来覆盖 Url 加载。 The
shouldOverrideUrlLoading(WebView view, String url)
method is depreceated in API21. shouldOverrideUrlLoading(WebView view, String url)
方法。
Thanks in advance!提前致谢!
in \\Android\\sdk\\sources\\android-25\\android\\webkit\\WebViewClient.java , you can see this code.在\\Android\\sdk\\sources\\android-25\\android\\webkit\\WebViewClient.java 中,您可以看到此代码。
So short answer to your question is: request.getUrl().toString()
对您的问题的简短回答是:
request.getUrl().toString()
boolean shouldOverrideUrlLoading (WebView view, String url)
deprecated in API 24, boolean shouldOverrideUrlLoading (WebView view, WebResourceRequest request)
added in API level 24 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();
Then you can use it wherever you want.然后你可以在任何你想要的地方使用它。
please see my answer may it will help you...!!!!请看我的回答可能对你有帮助...!!!!
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);
}
});
how to get the current page url from the web view in android 如何从android的web视图中获取当前页面的url
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.