android java和js交互

本文介绍Android应用中Java代码与WebView加载的JavaScript代码如何互相调用。包括配置WebView以启用JavaScript,添加JavaScript接口以便从JavaScript调用Java方法,以及通过URL加载方式实现Java调用JavaScript函数的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

android本地java代码和javascript的交互

java调用js

  • 通用设置
        mWebView = (WebView) findViewById(R.id.web_view);
        mWebView.getSettings().setJavaScriptEnabled(true);
        mWebView.addJavascriptInterface(this, "jsbridge");
        mWebView.loadUrl("file:///android_asset/demo_java_js_call.html");

不带参数

        mBtnJavaCallJsWithoutParam.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                mWebView.loadUrl("javascript:java_call_js_without_param()");
            }
        });

带参数

        mBtnJavaCallJsWithParam.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String param = "'a param from java'";//注意引号
                mWebView.loadUrl("javascript:java_call_js_with_param("
                                + param
                                + ")"
                );
            }
        });

js调用java

  • 设置
        mWebView.addJavascriptInterface(this, "jsbridge");

不带参数

js:
<a onClick="window.jsbridge.callFromJs()">点击这里-->调用java代码,无参数</a><br/>

java:
    @JavascriptInterface
    public void callFromJs() {
        Toast.makeText(this, "callFromJs, 无参", Toast.LENGTH_LONG).show();
    }

带参数

js:
<a onClick="window.jsbridge.callFromJsWithParam('来自js的参数')">点击这里-->调用java代码并传递参数</a><br/>

java:
    @JavascriptInterface
    public void callFromJsWithParam(String param) {
        Toast.makeText(this, "callFromJs, 参数是:" + param, Toast.LENGTH_LONG).show();
    }

其他

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值