如何在 Android 平台上使用 JavaScript 直接调用 Java 方法

官方文档

使用 Creator 打包的安卓原生应用中,我们可以通过反射机制直接在 JavaScript 中调用 Java 的静态方法。它的使用方法很简单:

var o = jsb.reflection.callStaticMethod(className, methodName, methodSignature, parameters...)

在 callStaticMethod 方法中,我们通过传入 Java 的类名,方法名,方法签名,参数就可以直接调用 Java 的静态方法,并且可以获得 Java 方法的返回值。下面介绍的类名和方法签名可能会有一点奇怪,但是 Java 的规范就是如此的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android中,您可以使用WebView来加载一个网页,然后通过JavaScriptJava代码进行交互。下面是一个示例: 首先,在您的Java代码中,您需要定义一个类并将其公开给JavaScript使用。例如: ```java public class MyJavaScriptInterface { Context mContext; MyJavaScriptInterface(Context context) { mContext = context; } @JavascriptInterface public void showToast(String toast) { Toast.makeText(mContext, toast, Toast.LENGTH_SHORT).show(); } } ``` 在这里,我们定义了一个名为 `MyJavaScriptInterface` 的类,并将其传递给 `Context`,以便我们可以在其中显示Toast消息。我们还定义了一个名为 `showToast` 的方法,并使用 `@JavascriptInterface` 注释将其标记为可以从JavaScript调用。 接下来,在您的Activity中,您需要启用JavaScript,并将您的Java对象添加到WebView中。例如: ```java WebView webView = (WebView) findViewById(R.id.webview); webView.getSettings().setJavaScriptEnabled(true); webView.addJavascriptInterface(new MyJavaScriptInterface(this), "Android"); webView.loadUrl("file:///android_asset/index.html"); ``` 在这里,我们首先获取WebView实例,然后启用JavaScript。接下来,我们将 `MyJavaScriptInterface` 实例添加到WebView中,并将其命名为 `Android`,这是JavaScript中将使用的名称。最后,我们使用 `loadUrl` 方法将WebView加载到我们的HTML文件中。 最后,在您的JavaScript代码中,您可以使用以下方式调用Java方法: ```javascript Android.showToast("Hello World!"); ``` 在这里,我们使用我们在Java代码中定义的名称 `Android` 来调用 `showToast` 方法,并将消息传递给它。在这种情况下,我们将显示一个Toast消息,显示 "Hello World!"。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值