Las imágenes de WebView no se muestran con HTTPS

Mi aplicación abre una vista web para mostrar la página HTML, que está alojado con HTTPS contiene una imagen (imagen procedente de http). En algunos dispositivos, la imagen no se muestra, pero para todos los demás dispositivos funciona bien. He comprobado con múltiples dispositivos como Nexus, Samsung s6 / s4, Moto G2 y otros. Sólo en Samsung S4 / S6, nexus image no se mostrará. Pero para todos los demás dispositivos su funcionamiento muy bien. Incluso lo intenté con WI-FI, portador de datos, y versiones múltiples del OS pero ninguna suerte.

Por favor ayude a resolver esto.

Algunas observaciones: –

1) En cada dispositivo recibo la misma advertencia: – [bloqueado] La página en ' URL de página ' se cargó a través de HTTPS, pero mostró contenido inseguro de ' fuente de imagen ': este contenido también debería cargarse a través de HTTPS.

2) misma página si estoy abriendo en el web browser, trabajando muy bien en todos los dispositivos.

Mi código

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(); } } 

El contenido mixto que usa HTTP y HTTPS en WebViews está desactivado por defecto iniciando Lollipop. Es posible que no está funcionando en dispositivos con Lollipop? Si este es el caso, puede cambiar la configuración predeterminada de WebView en Lollipop utilizando:

 webSettings.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW); 

Documentación aquí: http://developer.android.com/reference/android/webkit/WebSettings.html#setMixedContentMode(int)

En realidad es una propiedad SSL de webview para manejar esto que tendrá que utilizar el código siguiente.

 engine = (WebView) findViewById(R.id.my_webview); engine.setWebViewClient(new WebViewClient() { public void onReceivedSslError (WebView view, SslErrorHandler handler, SslError error) { handler.proceed() ; } } 

Y en el manejador se puede ejecutar url de la imagen webview fácilmente.

Utilice el siguiente código. Puede abrir https utilizando el siguiente código, extender el método WebViewClient de WebViewClient y proceder si se produce algún error. Aquí hay un ejemplo

  WebView webview= (WebView) findViewById(R.id.my_webview); webview.setWebViewClient(new WebViewClient() { public void onReceivedSslError (WebView view, SslErrorHandler handler, SslError error) { handler.proceed() ; } } 
  • Vista web de Android lanza navegador cuando llama a loadurl
  • ¿AddJavascriptInterface () depende de getClass ()?
  • Una alternativa a la vista web de Android
  • No se puede escribir dentro de un WebView
  • ¿Cómo integrar TEST PayU Payment Gateway en la aplicación android?
  • Configuración de Url a un WebView
  • ¿Por qué no Webview de Android verifica la caché por defecto?
  • WebView no se procesa hasta tocar Android 4.2.2
  • Android WebView getContentHeight () siempre devuelve 0
  • Android 2.2 SDK - Inseguro JavaScript intenta acceder al marco con la URL - Google Checkout
  • ¿Cómo cambiar el título de un AlertDialog.Builder después de que se muestre?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.