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的时候调用它即可。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章