Android 7.0系统webview 显示https页面空白处理方法
在Android 7.0系统中,webview组件在加载https页面时可能会出现空白处理问题,这是因为webview在加载https页面时需要进行SSL证书验证,如果证书验证失败,webview将不会加载页面内容。解决这个问题的方法是通过覆盖onReceivedSslError函数,并在证书验证失败时选择是否继续加载页面。
在webview中加载https页面时,webview会对服务器的SSL证书进行验证,如果验证失败,webview将调用onReceivedSslError函数,并将SslErrorHandler对象和SslError对象作为参数传递给这个函数。在这个函数中,我们可以选择是否继续加载页面,如果我们选择继续加载页面,那么我们需要调用handler.proceed()函数;否则,我们可以调用handler.cancel()函数来取消加载页面。
在onReceivedSslError函数中,我们可以根据SslError对象的primaryError属性来判断证书验证失败的原因,如果是SSL_INVALID错误,即证书验证过程中出现了bug,那么我们可以选择继续加载页面;否则,我们可以选择取消加载页面。
在实际开发中,我们可能会遇到这种问题,即webview组件在加载https页面时出现空白页面,而系统日志中也没有记录任何错误信息。这是因为webview组件在加载https页面时对服务器的SSL证书进行验证,如果验证失败,webview将不会加载页面内容。
解决这个问题的方法是通过覆盖onReceivedSslError函数,并在证书验证失败时选择是否继续加载页面。通过这种方法,我们可以解决Android 7.0系统中webview组件加载https页面时出现空白页面的问题。
此外,在实际开发中,我们还需要注意的是,在使用webview组件加载https页面时,需要确保服务器的SSL证书是合法的,如果服务器的SSL证书出现问题,那么webview组件将无法加载页面内容。
Android 7.0系统中webview组件加载https页面时可能会出现空白页面的问题,解决这个问题的方法是通过覆盖onReceivedSslError函数,并在证书验证失败时选择是否继续加载页面。同时,我们还需要注意服务器的SSL证书是否合法,以确保webview组件能够正确地加载页面内容。