使用的WebView呈现应用的内容时,没有任何人有类似的问题?似乎“#”在最近的更新中无法正常工作。
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
WebView webView = findViewById(R.id.webView);
String html = "<html><body>This is a #test</body></html>";
webView.loadData(html, "text/html", null);
}
}
在最近更新的设备中显示“ Test is a”(没有测试)。如果您在模拟器中运行这个,你可能看不出问题。
仿真器:
设备:
答案 0 :(得分:2)
我找到了解决方案。从文件上说...
数据是base64或URL编码的
因此html不能只是简单的字符串。应该使用base64这样编码
WebView webView = findViewById(R.id.webView);
String html = "<html><body>This is a #test</body></html>";
String base64 = Base64.encodeToString(html.getBytes(), Base64.NO_PADDING);
webView.loadData(base64, "text/html", "base64");
然后它工作正常。在以前的Chrome版本中,即使不进行编码,它也可以正常工作。