WebView les images ne s'affichent pas avec HTTPS
Mon application ouvre un site web pour afficher la page HTML, qui est hébergé par HTTPS contient une image(image venant de http). Sur certains appareils, l'image n'est pas visible mais pour tous les autres appareils de son travail très bien.
J'ai vérifié avec plusieurs périphériques comme Nexus, Samsung s6/s4, Moto G2 et d'autres. Uniquement sur Samsung S4/S6, nexus image ne s'affiche pas. mais pour tous les autres appareils de son travail très bien. Même j'ai essayé avec une connexion WI-FI gratuite, d'un opérateur de données, et plusieurs versions de système d'exploitation, mais pas de chance.
S'il vous plaît aider à résoudre ce problème.
quelques observations:-
1) Sur chaque appareil, je suis même avertissement :-
[bloqué] de La page "url de la page de " a été chargé par le protocole HTTPS, mais affiche un contenu non sécurisé à partir de 'source de l'image': ce contenu doit également être chargée via le protocole HTTPS.
2) page même si je suis à l'ouverture dans le navigateur web, qui fonctionne correctement sur tous les appareils.
Mon Code
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();
}
}
OriginalL'auteur Ajit Sharma | 2015-07-20
Vous devez vous connecter pour publier un commentaire.
Mixte de contenu à l'aide de HTTP et de HTTPS sur WebViews sont désactivés par défaut à partir en Sucette. Est possible qui ne fonctionne pas sur les appareils avec Lollipop?
Si c'est le cas, vous pouvez modifier la valeur par défaut WebView réglage sur la Sucette à l'aide de:
Documentation ici:
http://developer.android.com/reference/android/webkit/WebSettings.html#setMixedContentMode(int)
la bonne solution, je vous remercie.
Pour tous ceux qui arrivent ici à partir de Google, une meilleure option pourrait être d'utiliser
WebSettings .MIXED_CONTENT_COMPATIBILITY_MODE
depuis qui permettra à des images, des vidéos et tout autre contenu qui est moins susceptible d'être utilisé pour l'attaque d'un utilisateur.Fonctionne Comme Un Charme. Sauvé ma journée. Merci @Pollizzio
Tous les héros de l'usure des capes, m'a sauvé une tonne de temps!
OriginalL'auteur Pollizzio
Utiliser la forme suivante de code. Vous pouvez ouvrir https en utilisant le code suivant
étendre la
onReveivedSslError
méthode deWebViewClient
et de procéder si une erreur s'est produiteVoici un exemple
OriginalL'auteur Gopal Singh Sirvi
En fait, c'est un SSL propriété de webview afin de gérer cela, vous devrez utiliser le code suivant.
Et dans le gestionnaire, vous pouvez exécuter webview url de l'image facilement.
OriginalL'auteur Vishal Jain