我们如何从Android调用javascript?我有一个我想使用的javascript库,我想调用javascript函数并将结果值传递给android java代码。从现在开始还没有找到答案。我设法从javascript调用android代码,但我想反过来。
有一个hack:
绑定一些Java对象,以便可以使用WebView从Javascript调用它:
addJavascriptInterface(javaObjectCallback, "JavaCallback")
通过以下方式强制在现有页面中执行javascript:
WebView.loadUrl("javascript: var result = window.YourJSLibrary.callSomeFunction(); window.JavaCallback.returnResult(result)");
(在这种情况下,您的Java类JavaObjectCallback应具有方法returnResult(..))
JavaObjectCallback
returnResult(..)
注意:这是安全隐患- 此网页上的所有JS代码都可以访问/调用您绑定的Java对象。最好将一些一次性cookie传递给loadUrl()并将它们传递回Java对象,以检查调用该代码是否是您的代码。