问题只发生在一些设备上。我的应用程序大约有190万用户,我从一些用户的反馈中得到了这个问题。他们也发送了屏幕截图。
问题的详细说明:WebView无法在某些设备上显示我的静态HTML内容,只显示空白页面。但99%的设备都正常工作。
根据用户反馈,这个问题出现在许多不同品牌的设备上,如三星、索尼、LG、中兴等。他们也有不同版本的Android操作系统,从4.0.3到5.1.1。
尝试了所有Genymotion模拟器和许多真实设备,所有设备都对我完美地工作。我个人从未见过这个错误。但是一些用户已经报告了这个问题1.5年了。
另外,我的WebView的layout_height参数是wrap_content,但它的行为就像有一些不可见的内容(几行)。通常情况下,它应该有很多行。
问题的详细说明:WebView无法在某些设备上显示我的静态HTML内容,只显示空白页面。但99%的设备都正常工作。
根据用户反馈,这个问题出现在许多不同品牌的设备上,如三星、索尼、LG、中兴等。他们也有不同版本的Android操作系统,从4.0.3到5.1.1。
尝试了所有Genymotion模拟器和许多真实设备,所有设备都对我完美地工作。我个人从未见过这个错误。但是一些用户已经报告了这个问题1.5年了。
另外,我的WebView的layout_height参数是wrap_content,但它的行为就像有一些不可见的内容(几行)。通常情况下,它应该有很多行。
我的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);
我的问题是:
- 什么原因会导致这个问题?
- 我该如何解决这个问题?
- 这可能与设备上当前安装的WebView版本有关吗?
编辑:我已经在stackoverflow上检查了所有相关的问题和答案。