时间:2022-02-01 10:18:00 | 栏目:Android代码 | 点击:次
最近项目中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