有一个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对象,以检查调用该代码是否是你的代码。