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

Android与HTML+JS的交互

2017-02-13 15:54 381 查看
在Android开发中,越来越多的用到了Android原生与HTML的混合开发模式,那么相应的会产生很多Android原生代码与WebView进行相互交流的需求。比如点击WebView中的一个按钮调用打电话功能(JS调用原生代码),比如点击原生的按钮,调用JS部分代码(原生调用JS),以及两者之间的传值。

首先是JS调用原生代码:

Android端代码:

webview添加JavaScript接口

webView.getSettings().setJavaScriptEnabled(true);
webView.addJavascriptInterface(ZhaiTangDetails.this,"android");

重写需要被调用的方法

@JavascriptInterface
public void startFunction(final String id){
runOnUiThread(new Runnable() {
@Override
public void run() {
Intent intent = new Intent(ZhaiTangDetails.this,CommentDetails.class);

intent.putExtra("id",id);
startActivity(intent);
}
});
}


网页端代码:

<input type="button"  value="点击调用java代码并传递参数" onclick="window.android.startFunction('0X001')"  />


其次谈谈原生调用JS代码:

这就非常简单了

Android端代码:

webView.loadUrl("javascript:javacalljs()");


网页端代码:

function javacalljs(){
document.getElementById("content").innerHTML =
"<br\>JAVA调用了JS的无参函数";
}


以上都可以用到方法的重载,加入参数进行数据传递

function
javacalljs(){ document.getElementById("content").innerHTML
= "<br\>JAVA调用了JS的无参函数";}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: