android - 仅在模拟器中使用 WebView.loadData() 的“网页不可用”

标签 android android-emulator webview emulation

我在我的 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/

相关文章:

java - 如何更改 Android EditText 中的默认键盘输入语言

eclipse - 我是否应该担心 DDMS 控制台日志消息 "Can' t 绑定(bind)到本地 nnnn 以供调试器使用”?

android - WebView 中使用 CSS 的自定义字体在 Galaxy Tab 上间歇性消失

ios - 如何使用相同的滚动 IOS 滚动两个 UILabel 和一个 UIWebView?

android - SpeechRecognizer 未启动

java - View.OnClickListener 导致教程应用程序崩溃

android - 在 activity_main.xml 中看不到元素布局 android studio

android - 使用 android maps api v2,如何跟踪用户位置(类似于 google maps api 跟踪方式)。用户位置标记始终保持在中心

android - ionic 电容器 : how to see console when running on android emulator

javascript - JavaFx WebView 等待 Java 方法完成