天天看點

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的形式。

繼續閱讀