天天看点

android webview jsbridge互调的使用

简介

最近项目当中用到了jsbridge框架,于是先记录一下android调用h5和h5调用android的使用方法。

github地址是jsbridge

当我们遇到bug或者坑的时候别慌,先去github上的issues上浏览一遍再说,因为这种star数很多的,肯定有人已经遇到过坑了。

android调用js

  • BridgeWebview.send(jsFunctionName);
  • BridgeWebview.send(jsFunctionName,CallBackFunction);
  • BridgeWebview.callHandler(jsFunctionName,data,CallBackFunction);

注释

  1. jsfunctionName是js那边的函数名
  2. data是android传递给js的数据,是以json字符串的形式传递过去
  3. callBackFunction是回调函数(函数里面包含了js的返回值)

注意

  • 发送数据给js的时候必须要在主线程。切记

js调用android

  • BridgeWebview.registerHandler(functionName,new BridgeHandler(){

    @Override public void handler(String data,CallbackFunction function){

    // data是js传递给android的字符串数据

    // function.oncallback(String); 我们接受到数据是否需要告诉js

    }

    })

  • BridgeWebview.setDefaultHandler(new DefaultHandler())

注释

  1. 一般我们都使用registerHandler的形式。

继续阅读