由于某种原因,我的WebView中的图像未加载。即使在这里尝试多种解决方案后,我也无法弄清楚为什么。请帮我解决这个问题。
我的应用程序WebView
我的AVD浏览器视图
该页面的链接是here
我的WebViewActivity
班级
public class WebViewActivity extends Activity{
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_webview);
final WebView webview = (WebView) findViewById(R.id.webView);
//TextView contentView = (TextView) findViewById(R.id.contentView);
Intent intent = getIntent();
String address = intent.getStringExtra("URL");
webview.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
webview.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url) {
}
});
webview.getSettings().setLoadsImagesAutomatically(true);
webview.getSettings().setJavaScriptEnabled(true);
webview.getSettings().setDomStorageEnabled(true);
webview.loadUrl(address);
//textToSpeech.speak("TALK", TextToSpeech.QUEUE_FLUSH, null);
}
}
答案 0 :(得分:2)
这是一个mixed content问题,因为您在Webview中使用http
协议时正在调用https
协议。
使用setMixedContentMode(int mode)
更改混合内容模式:
webview.getSettings().
setMixedContentMode(WebSettings.MIXED_CONTENT_COMPATIBILITY_MODE);
来自MIXED_CONTENT_COMPATIBILITY_MODE
的{{1}}:
与setMixedContentMode(int)一起使用在此模式下,WebView将尝试与混合内容相关的现代Web浏览器方法兼容。可以允许一些不安全的内容由安全起源加载,并且将阻止其他类型的内容。允许或阻止的内容类型可能会将发布更改为发布,并且未明确定义。此模式旨在供不能控制其呈现的内容但希望在合理安全的环境中操作的应用程序使用。为获得最高安全性,建议应用程序使用MIXED_CONTENT_NEVER_ALLOW。