您的位置:首页 > 移动开发 > Android开发

Android WebView与JS交互

2013-09-11 13:00 477 查看
最近项目需要用到html+js在安卓端展示,需要和js进行交互,下面是一些自己的心得

mWebView = new WebView(this);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.loadUrl("file://mnt/sdcard/test.html");
mWebView.addJavascriptInterface(new Object() {
public void clickOnAndroid() {
mHandler.post(new Runnable() {
public void run() {
getSpeak();
}
});
}
}, "speak");
setContentView(mWebView);
需要注意的是

本地读取html文件路径以file://开头

speak要与onclick事件中相对应onClick="window.speak.clickOnAndroid()"

mWebView.loadUrl("javascript:ale('"+resultString+"')");


这个是回调html中的js方法

要注意一点的是调用js方法时参数外面要加单引号,否则js里获取不到参数

下面是html部分 很简单

<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=gb2312">
<script language="javascript">

function ale(str){
input=top.document.getElementsByName("t1");
input[0].value=str;
document.documentElement.style.backgroundColor="#00f";
}
</script>
</head>
<body>
<input type="text" name="t1"/>
<button onClick="window.speak.clickOnAndroid()">语音输入</button>
</body>
</html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: