wendux / DSBridge-Android

:earth_americas: A modern cross-platform JavaScript bridge, through which you can invoke each other's functions synchronously or asynchronously between JavaScript and native.
3.77k stars 616 forks source link

js 内部的点击事件 怎么传递值给到java #75

Closed taixiang closed 6 years ago

taixiang commented 6 years ago

js端 点击调用方法callAsyn() ,比如想把 "11111" 的值传到java端

function callAsyn() {
dsBridge.call("testAsyn","11111", function (v) {
})
}

java端如下:

JsApi jsApi = new JsApi();
jsApi.testAsyn("", new CompletionHandler<String>() {
@Override
public void complete(String retValue) {
Log.i("》》》》》》 "," retValue====== "+retValue);
}

@Override
public void complete() {

}

@Override
public void setProgressData(String value) {

}
});
dwebView.addJavascriptObject(jsApi, null);

不知道java 在哪里去接收数据的

taixiang commented 6 years ago

JsApi 不用new,直接在

    @JavascriptInterface
    public void testAsyn(Object msg, CompletionHandler handler) {
        handler.complete(msg+" [ asyn call]");
    }

里面监听