请问win10运行了anywhere后还是出问题了

来源:2-8 Android 与 Web 通讯 - npm 安装与 http-server

慕运维0205629

2019-09-08

老师,我是win10的,请问我运行了anywhere后,生成http地址用浏览器打开,一直无限正在加载中,https地址才可以访问。然后用https地址设置在安卓代码中,模拟器跑起来后webview一直白屏,但也没有显示无法访问,请问怎么办?
图片描述

写回答

1回答

Sunday

2019-09-09

你好,在 Android 中当 load 有 ssl 层的 https 页面时,如果这个网站的安全证书在 Android 无法得到认证, WebView 就会变成一个空白页,而并不会像 PC 浏览器中那样跳出一个风险提示框。

如果想要处理这个问题,那么我们需要对 android 代码中 views/X5WebView 进行一些更改,具体更改包含两个位置。


1、在  initWebViewClient 方法中,为WebViewClient 新增回调方法处理,代码如下:

setWebViewClient(new WebViewClient(){
   @Override
   public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
       // 接受所有网站的证书

        handler.proceed();
   }
});


2、在 initWebViewSettings 方法中,增加如下判断:


// 允许其加载混合网络协议内容

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {

    webSettings.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);

}


0
1
慕运维0205629
非常感谢!
2019-09-11
共1条回复

混合开发入门 Vue结合Android/iOS开发仿京东项目App

流行的混合开发实战入门,前端和原生开发同学不容错过

1108 学习 · 448 问题

查看课程