Android WebView显示空白页面

问题描述:

仅发生一些设备问题。我的应用程序有大约190万用户,我从一些用户的反馈中得到这个问题。他们也发送了屏幕截图。Android WebView显示空白页面

问题的详细解释: WebView无法在某些设备上显示我的静态HTML内容,只显示空白页。但99%的设备工作正常。

根据用户反馈,在许多不同的品牌,如三星,索尼,LG,中兴通讯等出现这个问题,他们也有不同版本的Android操作系统从4.0.3到5.1.1

试过所有Genymotion模拟器和许多真实的设备,都为我完美工作。从未亲自看到这个错误。但有些用户不断报告这个问题已有1.5年。

另外我的WebView的layout_height参数是wrap_content,但它的行为就像它有一些不可见的内容(几行)。通常情况下,它应该有很多线条。

Screen Shot

我的WebView设置:

webView = (WebView) v.findViewById(R.id.webView); 
webView.getSettings().setJavaScriptEnabled(true); 
webView.setWebViewClient(wvClient); 
webView.getSettings().setTextSize(WebSettings.TextSize.NORMAL); 

String start = "<html><head><meta name=\"viewport\" content=\"user-scalable=no\"/><meta http-equiv='Content-Type' content='text/html' charset='UTF-8' /><style>a {color:#9b252e;}\nimg.size-full{width:100%; height:auto;} iframe{width:100%; height:auto;} img{display: inline; height: auto; max-width: 100%;}</style></head><body>"; 
String end = "</body></html>"; 

webView.loadDataWithBaseURL(null, start + myHTMLContent + end, null, "text/html; charset=UTF-8", null); 

我的问题是:

  1. 什么会导致这个问题?
  2. 我该如何解决这个问题?
  3. 它可以与当前安装在设备上的WebView版本相关吗?

编辑︰我已经检查了每个相关的问题&在*上的答案。

+0

检查此问题http://*.com/questions/2568063/android-webview-shows-a-blank-page – AndroidRuntimeException

+0

@AgustinSivoplás对不起,但我检查了这个问题1.5半年前。我在互联网上尝试了一切。尚未找到解决方案。 –

我要开始的是修复HTML,使其中没有错误。我不知道你在里面放了哪些内容,但是头上已经有几个错误:

  • 没有文档类型;
  • 你应该写content='text/html;charset='UTF-8'而不是content='text/html' charset='UTF-8';
  • 没有标题元素。

我倾向于认为问题与您在内部显示的内容有关,因为外部保持不变,因此请确保没有错误。

尽管这可能与WebView的版本有关,但由于您提到问题发生在4.0版本上,我认为它应该不仅仅是WebView版本,因为在该版本的Android上它不是像Google Play一样从最新版本更新。

+0

感谢您的回答,我会考虑您的建议并更新我的代码并等待用户反馈。 –

+0

我们有类似的问题...做了什么帮助? – Zbyszek

Google Chrome浏览器应用的版本应该与WebView的版本相同。我遇到了类似的问题,并且更新了Google Chrome帮助。