㈠ android 手机使用webview 白屏 ssl 不验证证书会有什么后果
webview.setWebViewClient(new WebViewClient() {
@Override
public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
if (error.getPrimaryError() == SslError.SSL_DATE_INVALID // 日期不正确
|| error.getPrimaryError() == SslError.SSL_EXPIRED // 日期不正确
|| error.getPrimaryError() == SslError.SSL_INVALID // webview BUG
|| error.getPrimaryError() == SslError.SSL_UNTRUSTED) { // 根证书丢失
if (chkMySSLCNCert(error.getCertificate())) {
handler.proceed(); // 如果证书一致,忽略错误
}
}
}
private boolean chkMySSLCNCert(SslCertificate cert) {
byte[] MySSLCNSHA256 = { 35, 76, 110, -121, -68, -104, -12, 84, 39, 119, -55,
101, 95, -8, -90, 9, 36, -108, 5, -57, 76, -98, -19, -73, 91, -37, 18,
64, 32, -41, 0, 109 }; //证书指纹
Bundle bundle = SslCertificate.saveState(cert);
byte[] bytes = bundle.getByteArray("x509-certificate");
if (bytes != null) {
try {
CertificateFactory cf = CertificateFactory.getInstance("X.509");
Certificate ca = cf.generateCertificate(new ByteArrayInputSteam(bytes));
MessageDigest sha256 = MessageDigest.getInstance("SHA-256");
byte[] Key = sha256.digest(((X509Certificate) ca).getEncoded());
return Arrays.equals(key, MySSLCNSHA256);
} catch (Exception Ex) {}
}
return false;
}
}
㈡ Android的WebView显示一个空白页问题,怎么解决
刚开始加载需要时间和流量,如果网速够好的话,是可以加载,但是速度也还是很慢。
我只是提供一个解决方案,你可以先定义一个静态,写一个线程,等待5-8S,后台还是加载,这样子,让用户感觉不那么空白时间久一点。。
㈢ reactnative 使用WebView加载H5,热跟新之后,为什么安卓机显示白屏,加载不出来
可能游览器问题,建议换个游览器或者清理下缓存
㈣ android webview空白页面
webview 需要webView.loadUrl(URL),r按后系统会自动根据url生成页面,否则就是空白页面
㈤ android webview 使用 chrome inspect 调试, 总是空白
第一步:首先在移动设备上开启USB调试模式。方法: ● Android 3.2+,打开设置 – 应用程序 – 开发,在“USB调试”处打钩选上 ● Android 4.0~ Android 4.1 ,打开设置-开发者选项-进入在“USB调试”处打钩选上。
㈥ webview页面加载网页时成白屏怎么解决
这些都设置ok的,一共有30个网页就有一个页面会出现白屏,这个页面中有许多输入框,有个提交按钮,一点击提交后不成功,就变成白屏了,有时候该网页只显示一部分
㈦ android中用webView来显示内容,为什么内容下面会出现大一片空白
webView加载内容出现大片空白,说明加载的HTML界面显示有问题。
WebView(网络视图)能加载显示网页,可以将其视为一个浏览器。它使用了WebKit渲染引擎加载显示网页,实现WebView有以下两种不同的方法:
第一种方法的步骤:
1.在要Activity中实例化WebView组件:WebView webView = new WebView(this);
2.调用WebView的loadUrl()方法,设置WevView要显示的网页:
互联网用:webView.loadUrl("http://www.google.com");
本地文件用:webView.loadUrl("file:///android_asset/XX.html"); 本地文件存放在:assets 文件中
3.调用Activity的setContentView( )方法来显示网页视图
4.用WebView点链接看了很多页以后为了让WebView支持回退功能,需要覆盖覆盖Activity类的onKeyDown()方法,如果不做任何处理,点击系统回退剪键,整个浏览器会调用finish()而结束自身,而不是回退到上一页面
5.需要在AndroidManifest.xml文件中添加权限,否则会出现Web page not available错误。
<uses-permission android:name="android.permission.INTERNET" />
第二种方法的步骤:
1、在布局文件中声明WebView
2、在Activity中实例化WebView
3、调用WebView的loadUrl( )方法,设置WevView要显示的网页
4、为了让WebView能够响应超链接功能,调用setWebViewClient( )方法,设置 WebView视图
5、用WebView点链接看了很多页以后为了让WebView支持回退功能,需要覆盖覆盖Activity类的onKeyDown()方法,如果不做任何处理,点击系统回退剪键,整个浏览器会调用finish()而结束自身,而不是回退到上一页面
6、需要在AndroidManifest.xml文件中添加权限,否则出现Web page not available错误。
<uses-permission android:name="android.permission.INTERNET"/>
㈧ webview加载页面 多点几次后页面加载不出来,出现白屏
myWebView.setBackgroundColor(android.R.color.transparent);
//更换背景图片
myWebView.setBackgroundResource(R.drawable.welcome);
// 第一次进入程序时,加载URL显示加载提示框
progressFirst = ProgressDialog.show(MainActivity.this, null, "请稍后,正在加载.....");
// 判断webview是否加载,加载URL
if (myWebView == null) {
myWebView.loadUrl(dataApplication.getCurrentUrl());
}
㈨ Android的webview加载的url重定向导致页面空白
WebView mWebView = findViewById(R.id.widget_webview);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.getSettings().setDomStorageEnabled(true);//解决空白的主要方法,放在这个位置才可以
mWebView.getSettings().setBlockNetworkImage(false); // 解决图片不显示
mWebView.getSettings().setLoadWithOverviewMode(true);
mWebView.getSettings().setTextZoom(100);
mWebView.setWebViewClient(new DefaultWebViewClient());
㈩ WebView android为什么点击本地网址input输入框的时候会白屏
确定你input页面有内容.
webview设置以下属性
//得到WebSetting对象,设置支持Javascript的参数
mWebView.getSettings().setJavaScriptEnabled(true);
//载入URL
mWebView.loadUrl("http://www..com");
//使页面获得焦点
mWebView.requestFocus();