我遵循了从SO How to pass parameter into HTML file from android发布数据到HTML webview的技巧。
我在Java中有这个:
try {
String template = streamToString(getAssets().open("html/index.html"));
String data = template.replaceAll("%PARAMETER%", PARAMETER);
webView.loadDataWithBaseURL("file:///android_asset/html/", data, "text/html", "utf-8", null);
} catch (IOException e) {
e.printStackTrace();
}
在我的HTML中,我有字符串"%PARAMETER%"
。
该解决方案适用于运行Android 2.3.6的测试设备,但在运行Android 4.1.1的设备中无效。 HTML有一些CSS和JS文件。该问题是否与HTML页面的内容有关?
对于我想要实现的目标,有什么更好的方法吗?简单我只想将数据从Java发送到HTML webview。
这是HTML的内容:
<!DOCTYPE html>
<html>
<head>
<title>Like a Pub</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="jquery.mobile-1.2.0.min.css" />
<script type="text/javascript" src="jquery-1.7.2.min.js"></script>
<script type="text/javascript" src="jquery.mobile-1.2.0.min.js"></script>
<script type="text/javascript">
$('#index-page').live('pageshow', function(event, data){
//
});
</script>
</head>
<body>
<div data-role="page" id="index-page">
%WEBSITE_URL%
</div>
</body>
</html>