我在我的 WebView
上调用 loadData
并以字符串的形式将一些 HTML 传递给它,如下所示:
webView.loadData( htmlString, "text/html", "utf-8" );
它在我的 Galaxy Tab 10.1 上运行良好,但 WebView
显示:
网页不可用
在模拟器上运行时,所有设置都与我的 Galaxy Tab 相匹配。在 list 中设置 android.permission.INTERNET
没有任何效果,但我不需要该权限,因为我正在呈现内存中的 HTML,并且不通过数据连接访问任何内容。
这是怎么回事?
最佳答案
试试这个代码
webView.loadData( URLEncoder.encode(htmlString).replaceAll("\\+"," "), "text/html", "utf-8" );
代替
webView.loadData( htmlString, "text/html", "utf-8" );
它应该可以工作,因为有时像 '%'、'\'、'#' 这样的字符如果编码不正确会产生问题
关于android - 仅在模拟器中使用 WebView.loadData() 的“网页不可用”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8421670/