概述
问题:使用webview加载url时候,h5那边做了重定向的操作。但是webview并没有加载对应的URL。问题排查:重写 shouldOverrideUrlLoading 看是否是系统处理了,还是拦截业务代码处理了跳转。return true表示自己处理。return super.shouldOverrideUrlLoading或是false,系统会去加载该url。webView.setWebViewClient(new WebViewClient() {@Overridepublic,下方主要介绍关于android WebView 重定向 无效 ERROR:ssl_client_socket_impl.cc(959)的全文内容,希望对你有所帮助。问题:
使用webvIEw加载url时候,h5那边做了重定向的操作。但是webvIEw并没有加载对应的URL。
问题排查:
- 重写 shouldOverrIDeUrlLoading 看是否是系统处理了,还是拦截业务代码处理了跳转。
return true表示自己处理。return super.shouldOverrIDeUrlLoading或是false,系统会去加载该url。
webVIEw.setWebVIEwClIEnt(new WebVIEwClIEnt() {
@OverrIDe
public boolean shouldOverrIDeUrlLoading(WebVIEw vIEw, String url) {
vIEw.loadUrl(url);
return true;
}
});
参考:androID webvIEw 二次验证流程分析 shouldOverrIDeUrlLoading深度分析链接
- 发现走到了shoud方法,但是还是没有跳转。
排查:把重定向的url拿出来,首次去loadurl,发现加载不出来。报错
ERROR:ssl_clIEnt_socket_impl.cc(959)。
猜想:可能是由于https网络配置相关出错导致url加载失败的。
查看ap相关配置:
<application
androID:allowBackup="true"
androID:icon="@mipmap/ic_launcher"
androID:label="@string/app_name"
androID:roundIcon="@mipmap/ic_launcher_round"
androID:supportsRtl="true"
androID:theme="@style/Apptheme"
androID:networkSecurityConfig="@xml/network_security_config"
androID:usesCleartextTraffic="true">
<network-security-config>
<base-config cleartextTrafficPermitted="true">
</base-config>
</network-security-config>
修改配置如下,加载成功了。
<network-security-config>
<base-config cleartextTrafficPermitted="true">
<trust-anchors>
<certificates
overrIDePins="true"
src="system" />
<certificates
overrIDePins="true"
src="user" />
</trust-anchors>
</base-config>
</network-security-config>
后续:
总结
以上是编程之家为你收集整理的android WebView 重定向 无效 ERROR:ssl_client_socket_impl.cc(959)全部内容,希望文章能够帮你解决android WebView 重定向 无效 ERROR:ssl_client_socket_impl.cc(959)所遇到的程序开发问题。
如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。