阅读量:2
在Android中,通过JavaScript Bridge,您可以从JavaScript代码调用原生Android方法。以下是实现此功能的步骤:
- 创建一个本地对象,供JavaScript调用:
首先,在Android项目中创建一个类,该类将包含要从JavaScript调用的原生方法。确保此类的实例是单例的,以避免创建多个实例。
public class JavaScriptInterface {
private static JavaScriptInterface instance;
private JavaScriptInterface() {
}
public static synchronized JavaScriptInterface getInstance() {
if (instance == null) {
instance = new JavaScriptInterface();
}
return instance;
}
//这个方法将被JavaScript调用
@JavascriptInterface
public void showToast(String message) {
Toast.makeText(getApplicationContext(), message, Toast.LENGTH_SHORT).show();
}
}
注意我们在方法上添加了@JavascriptInterface注解。这是必需的,因为它告诉WebView启用JavaScript接口。
- 将本地对象添加到WebView:
在您的Activity或Fragment中,将创建的本地对象添加到WebView的JavaScript接口中。
WebView webView = findViewById(R.id.webView);
webView.getSettings().setJavaScriptEnabled(true);
// 添加JavaScript接口并加载URL
webView.addJavascriptInterface(JavaScriptInterface.getInstance(), "Android");
webView.loadUrl("file:///android_asset/index.html");
- 从JavaScript调用原生方法:
现在您可以在HTML文件中的JavaScript代码中调用刚才创建的原生方法了。
html>
<html>
<head>
<title>Call Android from JavaScripttitle>
<script type="text/javascript">
function callAndroidToast() {
Android.showToast("Hello from JavaScript!");
}
script>
head>
<body>
<button onclick="callAndroidToast()">点击显示toastbutton>
body>
html>
当用户点击按钮时,将调用Android原生方法showToast(),显示一条Toast消息。
以上就是关于“android jsbridge怎样调用原生方法”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm