最近项目中Webview加载第三方的具有302的重定向,但是却发现却没有重新跳转。最后发现问题如下:
public boolean shouldOverrideUrlLoading(WebView view, String url) { super.shouldOverrideUrlLoading(view, url); ........ ......... return true; }
发现最后返回的true,所以导致不会重定向跳转,只要返回fasle就可以重定向跳转了,如果你某些情况下需要,返回true自己处理一些url那你完全可以自己做判断。
那么return fasle 和return true 有什么区别呢?
返回结果 | 含义 |
---|---|
true | 表示自己处理,不需要系统处理,比如如果是true,重定向就不会跳转 |
false | 表示开发者自己不处理,交给系统处理 |
补充知识:不让WebView调用系统自带浏览器
webView2= (WebView) findViewById(R.id.webview2); webView2.setWebViewClient(new WebViewClient( ){ //覆盖shouldOverrideUrlLoading 方法 @Override public boolean shouldOverrideUrlLoading(WebView view, String url){ view.loadUrl(url); return true; } }); webView2.loadUrl("http://www.baidu.com");
重写setWebViewClient
以上这篇Android WebView 内处理302重定向不跳转的解决就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。