我正在调用loadData
我的WebView
并以字符串的形式传递一些HTML,如下所示:
webView.loadData( htmlString, "text/html", "utf-8" );
它在我的Galaxy Tab 10.1上工作正常,但WebView
显示:
Webpage not available
在模拟器上运行时,所有设置都与我的Galaxy Tab匹配.android.permission.INTERNET
清单中的设置没有任何效果,但我不需要该权限,因为我正在渲染内存中的HTML,而不是通过数据连接访问任何内容.
这是怎么回事?
尝试使用此代码
webView.loadData( URLEncoder.encode(htmlString).replaceAll("\\+"," "), "text/html", "utf-8" );
绝对的
webView.loadData( htmlString, "text/html", "utf-8" );
它应该工作,因为有时像'%','\','#'这样的字符如果没有正确编码就会产生问题
在2.x
平台上loadData()
失败在某些情况下(它需要进行转义的HTML),使用loadDataWithBaseURL()
替代,并通过null
对baseUrl
和historyUrl
:
webView.loadDataWithBaseURL(null, htmlString, "text/html", "utf-8", null);