android js调用android方法

第一步,android 中webview要设置支持 js


settings.setJavaScriptEnabled(true);

第二步,要写一个专门处理这个类,当然也可以直接在当前类中,但是不优雅,,这个MyJavaScriptInterface 就是我自己写的。client是标记 js中调用android方法的一个标志,

然后,在处理类中,对应的方法要带上@JavascriptInterface 这个注解,但是,这个得11以上才行

wb.addJavascriptInterface(new MyJavascriptInterface(this),"client");

附,我自己MyJavascriptInterface 测试版代码
private class MyJavascriptInterface{
        private final Context mContext;


        public MyJavascriptInterface(Context context){
            mContext = context;
        }

        @JavascriptInterface
        public void openDetail(){
            Toast.makeText(mContext, "被点击了", Toast.LENGTH_SHORT).show();
        }
   }

第三步 html文件中,其中 client就是我们设置的那个标记

<a id = "yaya" οnclick="window.client.openDetail()">按钮</a>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android中,您可以使用WebView来加载一个网页,然后通过JavaScript与Java代码进行交互。下面是一个示例: 首先,在您的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、付费专栏及课程。

余额充值