Android 与h5交互网上虽然有很多demo,但运行有问题,今天整理下:
js代码:就是一个按钮,点击调取Android applyForFreeExam,然后Android 成功后调用js
callBack 函数,把返回的参数复制到按钮的文字上
直接上代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
<title></title>
</head>
<body>
<button id="btn">点击交互</button>
<p id="p"></p>
</body>
<script type="text/javascript">
var Btn = document.getElementById('btn');
function callBack(s,a)
{
Btn.innerHTML = s+a;
};
Btn.οnclick=function(){
var str=window.Sinldo.applyForFreeExam(2);
}
</script>
</html>
Android 与js 交互
多个参数
openUrl("javascript:Getimg('" + baseURl + imagUrl +"','"+types[1]+ "')");
js调用Android webview 初始化
mWebView.addJavascriptInterface(new ExamH5JavaScripInterface(), "Sinldo");
*/
class ExamH5JavaScripInterface {
ExamH5JavaScripInterface() {
}
/**
* 获取用户账号
*/
@JavascriptInterface
public String applyForFreeExam(String id) {
return dosomeThing(id);//android 线程,这的代码就不贴了,就是网络请求,回调回来后
//调用上面的方法与js交互
}
}
*******************************
在applyForFreeExam如果更新UI,如同在子线程中更新
项目中用handler 处理是验证没有问题的