一尘不染

如何从Android调用JavaScript?

java

我们如何从Android调用javascript?我有一个我想使用的javascript库,我想调用javascript函数并将结果值传递给android java代码。从现在开始还没有找到答案。我设法从javascript调用android代码,但我想反过来。


阅读 325

收藏
2020-03-22

共1个答案

一尘不染

有一个hack:

绑定一些Java对象,以便可以使用WebView从Javascript调用它:

addJavascriptInterface(javaObjectCallback, "JavaCallback")

通过以下方式强制在现有页面中执行javascript:

WebView.loadUrl("javascript: var result = window.YourJSLibrary.callSomeFunction();
    window.JavaCallback.returnResult(result)");

(在这种情况下,你的Java类JavaObjectCallback应具有方法returnResult(..)

注意:这是安全隐患-此网页上的所有JS代码都可以访问/调用你绑定的Java对象。最好将一些一次性cookie传递给loadUrl()并将它们传递回Java对象,以检查调用该代码是否是你的代码。

2020-03-22