java - 如何从 Android 调用 javascript?

标签 java javascript android return

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

最佳答案

有一个黑客:

  1. 绑定(bind)一些 Java 对象,以便它可以从带有 WebView 的 Javascript 中调用:

    addJavascriptInterface(javaObjectCallback, "JavaCallback")
    
  2. 通过以下方式在现有页面中强制执行 javascript

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

(在这种情况下,您的 java 类 JavaObjectCallback 应该有一个方法 returnResult(..))

注意:这是一个安全风险 - 此网页中的任何 JS 代码都可以访问/调用您绑定(bind)的 Java 对象。最好将一些一次性 cookie 传递给 loadUrl() 并将它们传递回您的 Java 对象以检查调用的是您的代码。

关于java - 如何从 Android 调用 javascript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7544671/

相关文章:

android - Google 的应用索引与 Facebook 的应用链接有何不同?

java - 安卓相机 : app passed NULL surface

javascript - 在 jQuery 中切换内联 CSS

javascript - 将 jQuery UI 对话框与 Backbone.js 和 RequireJS 结合使用

java - Android - 单击按钮转到新屏幕

linux - 64 位 Linux 机器上的 Android SDK

java - Eclipse 实现 View

java - toUpperCase() 方法何时创建一个新对象?

java - Weblogic JMS 客户端 - 在单个事务中从多个队列读取

javascript - React js 分页 - 从数组中删除空值