您的位置:首页 > 理论基础 > 计算机网络

React Native之Android 5.0以下系统WebView访问https页面变成空白页

2017-12-28 15:32 1286 查看
在我们的React Native项目中,需要开发一个tab页面专门配置三方h5链接,供用户浏览。自动化测试:Android 5.0以下系统此tab页面为空白页面。看效果:



而我们去查看这个三方的h5链接时,发现,这个链接是https协议开头的链接。http是超文本传输协议,信息是明文传输,但是https
则是具有安全性ssl加密传输协议。当我们去用这台低版本系统的Android机子去用本地浏览器打开这个三方h5链接,会出现以下界面:



那么,当我们去点击"继续访问",就会正常浏览网页了。所以原因就出在https链接需要做SslError特殊处理。

在Android中,WebView可以用来加载http和https网页到本地应用的控件。但是在默认情况下,通过loadUrl(String url)方法,可以顺利loadUrl(“http://www.baidu.com”)之类的页面。但是,当load通过ssl加密的https页面,但是如果这个网站的安全证书在Android无法得到认证,WebView就会变成一个空白页,而并不会像自带的浏览器一样弹出提示。因此,我们必须针对这种情况进行处理。

import android.net.http.SslError;
import android.webkit.SslErrorHandler;
@Override
public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
//super.onReceivedSslError(view, handler, error);
handler.proceed();
}

可以参考以下链接:

http://blog.csdn.net/top_code/article/details/8998385
http://blog.csdn.net/kingoneyun/article/details/54581764?locationNum=6&fps=1

哈哈哈哈哈,慢慢的开始接触原生了。。嘻嘻(继续Fighting~)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: