真的是非常简单。。。
首先得是个WebView,支持javascript
webview.getSettings().setJavaScriptEnabled(true);
//添加JavascriptInterface与js交互
yami_first_wv.addJavascriptInterface(new YaTiBookJavaScipt(), "android");
//"android"这个字段和前端调用的时候保持一致就好了,YaTiBookJavaScipt这个自己随性写
class YaTiBookJavaScipt {
@JavascriptInterface
public void finish() {
UIUtils.runInMainThread(new Runnable() {
@Override
public void run() {
YaTiBookFirstActivity.this.finish();
}
});
}
@JavascriptInterface
public void enter() {
UIUtils.runInMainThread(new Runnable() {
@Override
public void run() {
startActivity(new Intent(UIUtils.getContext(), YaTiProtocolActivity.class));
}
});
}
}
//在YaTiBookJavaScipt 里面写了两个与js交互的方法,方法名可以自定义,和前端保持一致就可以了,前端就在js里写上android.enter();就可以调用android中的enter方法了,参数可以自己加
这个很早之前就写过了,为什么我又要写一篇博客呢,哈哈,就是今天跟前端交互的时候发现调用不到方法,发现是YaTiBookJavaScipt 里面的方法名被混淆了,所以一定要保持自己YaTiBookJavaScipt 这个类不被混淆,嗯,就是这样的加班狗