问题:第三方重定向链接在APP内部无法返回退出
通过网上收集验证:这些方式都是有缺陷的
1、WebView.HitTestResult为空方式
2、自定义ArrayList收集加载url
解决方案:交给webview自身处理,webview自己有对重定向完美兼容处理
注意:shouldOverrideUrlLoading拦截中不仅仅返回false,中间自生不能view.loadUrl加载,全部交给系统处理
1、导致系统重定向失误写法
webView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
});
2、正确写法
webView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
//view.loadUrl(url); //禁止放开此段代码注释,否则导致重定向失效
//转发交给webview自己处理
return false;
}
});
万万没有想到解决重定向问题,就在shouldOverrideUrlLoading中处理,我们更加深刻解析此方法的返回值用法。
参考网站: