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的時候調用它即可。

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