safe-java-js-webview-bridge icon indicating copy to clipboard operation
safe-java-js-webview-bridge copied to clipboard

JS怎么传方法给JAVA进行执行

Open daliyan opened this issue 9 years ago • 1 comments

在 JsCallJava的call方法中 有一个类型判断:values[k + 1] = new JsCallback(webView, mInjectedName, argsVals.getInt(k));进行执行的时候有一个argsVals.getInt(k)获取到对应的全局方法索引,但是假如我需要传入一个对应的方法名称(String 类型),需要怎么做,我没有看到onJsPrompt代码是怎么对message进行封装的,例如我检测到的: message="{"method":"delayJsCallBack1","types":["number","string","function"],"args":[1,"call back haha","1"]}";其中1是message传过来的,请问我需要怎么做,期待您的回复。

daliyan avatar Jul 13 '15 13:07 daliyan

我自己弄的 public class UseJsMethod { WebView webView; private Handler mHandler=new Handler(); public UseJsMethod(WebView webView) { this.webView = webView; }

public void useJsMethod(final String methodName) {
    mHandler.post(new Runnable() {
        public void run() {
            //use method in js
            webView.loadUrl("javascript:"+methodName+"()");
        }
    });
}

}

PengliangC avatar Jul 14 '15 13:07 PengliangC