Android与JS互调

红色标注是js调android  绿色标识是android调js  相信看完这篇文章就能明白Android与JS互调是怎么一回事了!!!

首先写JS调Android:

先上Android代码

wv_web = (WebView) view.findViewById(R.id.wv_web);
bt = (Button) view.findViewById(R.id.bt);
WebSettings settings = wv_web.getSettings();
settings.setBuiltInZoomControls(true);
settings.setSupportZoom(true);
settings.setJavaScriptEnabled(true);
settings.setDefaultFontSize(15);
wv_web.loadUrl("file:///android_asset/test.html");
wv_web.addJavascriptInterface(new JSToast(context), "JSADD");     JSADD是我们在js中调用Android方法的标识

标红的这一行是js调Android的关键    new出来的这个类是我们自己写的(例如下面代码)   如果我们想在js里面调javaScriptInter这个方法  我们就需要JSADD.javaScriptInter即可

public class JSToast {
private Context context;
public JSToast(Context context) {
super();
this.context = context;
}
@JavascriptInterface  这个必须要加
public void javaScriptInter(String name) {
Toast.makeText(context, name, 0).show();
}
}


下面上js代码   让我们看看js到底是怎么调Android代码的


















点击隐藏图片






 这里是js的一个按钮 点击之后调Android这个方法







Android与JS互调_第1张图片js调android效果图

下面是android调JS

上Android代码

bt.setOnClickListener(new OnClickListener() {   这里就是一个button点击执行js代码

@Override
public void onClick(View v) {
wv_web.loadUrl("javaScript:toJS('上天!!')");  这里的javaScript:是固定写法 后面的toJS是js里面的 方法

}
});

Android与JS互调_第2张图片这里是js调安卓效果  js页面出现了上天!!同时出现了我们的:吐死吐死吐死


你可能感兴趣的:(Android与JS互调)