Android中webview和js的交互

在app中我们有时候会用到网页,直接在webview中打开即可,但是有时候需要点击网页的某个按钮,然后调起手机相册,进行图片的上传,这时候我们需要和网页端制定一个协议,触发这个协议的时候就交给app端进行处理,把执行完的的结果回调给网页端。

下面拿调起app端手机相册的例子做说明

这里的 openCamera 就是定义的方法,index是网页端传给我们的参数

在app端这样使用

//调用相机相册
        webView.registerHandler("openCamera", new WVJBWebView.WVJBHandler() {
            @Override
            public void handler(Object o, WVJBWebView.WVJBResponseCallback wvjbResponseCallback) {
                wvjbResponseCallbackPicture = wvjbResponseCallback;

                String response = o.toString();
                try {
                    JSONObject obj = new JSONObject(response);

                    //接收参数-注意参数是以json的格式传给我们的
                    int index = obj.getString("index");
                   //TODO:在这里做你要做的事情


                  
                } catch (JSONException e) {
                    e.printStackTrace();
                    new SingleCameraOrPhotoDialog((Activity) getContext()).show();
                }

            }
        });

把这个方法定一个在一个方法里,然后在初始化webview的时候调用它即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值