【发布时间】:2015-07-20 05:20:38
【问题描述】:
我的应用程序打开一个 Web 视图以显示 HTML 页面,该页面由 HTTPS 托管,包含一个图像(来自 http 的图像)。在某些设备上,图像未显示,但对于所有其他设备,它工作正常。 我检查了多个设备,如 Nexus、三星 s6/s4、Moto G2 等。仅在三星 S4/S6 上,nexus 图像不显示。但对于所有其他设备,它工作正常。即使我尝试了 WI-FI、数据载体和多个操作系统版本,但都没有运气。
请帮助解决这个问题。
一些观察:-
1) 在每台设备上我都收到相同的警告:- [已阻止] 'page url' 处的页面通过 HTTPS 加载,但显示来自 'image source的不安全内容>':此内容也应通过 HTTPS 加载。
2) 如果我在网络浏览器中打开同一页面,则在所有设备上都可以正常工作。
我的代码
mWebView = (WebView) findViewById(R.id.m_web_view);
WebSettings webSettings = mWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
mainUrl = bean.getUrl();
mWebView.loadUrl("javascript:window.location.reload( true )");
mWebView.loadUrl(mainUrl);
mWebView.setWebViewClient(new myWebClient());
private class myWebClient extends WebViewClient {
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
//some code
}
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
//some code
}
@Override
public void onReceivedSslError(WebView view, SslErrorHandler handler,
SslError error) {
handler.proceed();
}
}
【问题讨论】:
-
可能是自签名证书的问题,你可以看看这个stackoverflow.com/questions/5977977/…