android 和h5互调步骤
1. Android 中调用JS
假如:H5页面中有一段如下JS代码
function h5Test(str){
xxxx...
xxxx...
}
Android中调用方式如下:
步骤一: 启动支持JS
WebSettings ws = getSettings();
ws.setJavaScriptEnable(True);
步骤二: 加载网页
webView.loadUrl(url);
步骤三:调用网页中的js, 注意此处函数名要和 上面js代码中函数名完全一致
webView.loadUrl("javascript:changeTitle('Android调用js')");
2.JS调用Android
假定点击H5网页上的一个按钮,跳转到Android代码中的某个Activity页面
步骤一:启动支持JS
WebSettings ws = getSettings();
ws.setJavaScriptEnabled(true);
步骤二:给webView添加JS接口类, 该类封装了原生的操作. 参数2是JS中的实体类名字,需要和js代码中名字保持一致
webView.addJavascriptInterface(new JsInterface(),"js2android");
H5页面见到js2android 就会到JsInterface()类中找相应方法.
步骤三:编写接口类的内容
public class JsInterface{
@JavascriptInterface //这个注解一定要带上
public void selectPic(){
Intent intent = new Intent(WebViewActivity.this,GetPicActivity.class);
startActivityForResult(intent,100);
}
}
步骤四:H5页面中JS对应代码
function appSelectPic(){
javascript:js2android.selectPic();
}
通过以上4个步骤,就可以做到点击H5页面的一个按钮,跳转到 对应Activity