H5与android客户端JS交互方案

1.      客户端调用h5界面中的js方法,即客户端向h5端传递参数。

 

Android端代码:

webview.loadUrl("javascript:callJavaScriptMethod1()");
// 传递参数调用
webview.loadUrl("javascript:callJavaScriptMethod1(" + "'hello world'" +",'yxf'"+ ")");

 

注意: 1.android端代码方法名前面需要加javasript:

2.方法名字对应一致

                3.参数格式。

                 4.参数的类型也要对应

 

 

 

 

2.      H5界面调用客户端的方法,即h5端向android端传递参数(支付结果)。

 

Android端代码:

  @SuppressLint({"JavascriptInterface", "SetJavaScriptEnabled"})
    private void initWebView(String url) {
        WebSettings mWebSettings = wv_pay.getSettings();
        mWebSettings.setJavaScriptEnabled(true);   
        //加上这句话才能使用javascript方法
        wv_pay.setWebChromeClient(new WebChromeClient());
 //如果有多个交互方法,stringName必须取名不一样,否则后写的覆盖前面的
        wv_pay.addJavascriptInterface(new Object() {
        @JavascriptInterface//Android4.4后每个js交互方法必须要有注解
            public void callAndroidMethod1(int m, int n) {
             
            }
        }, "demo1");
   }

 

注意:

2.      注解需要添加

3.      方法名要一致

4.      调用格式需要一致(事例中的demo1必须要有)

5.      参数的类型也要对应

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值