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