日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

MPH5OpenFileChooserProvider 的使用

使用場景

在 H5 離線包中使用 <input type="file"/> 選擇文件或者圖片時,若不滿足需求,可以使用自定義圖片選擇功能。如選擇圖片樣式、可選多張圖片、動態權限的處理等,推薦使用 MPH5OpenFileChooserProvider 來實現。

實現方式

  1. 在 mPaaS 初始化完成后的回調中注冊 MPH5OpenFileChooserProvider

    H5Utils.setProvider(MPH5OpenFileChooserProvider.class.getName(), 
                        new MPH5OpenFileChooserProvider() {
                            @Override
                            public boolean needIntercept(Activity activity, ValueCallback valueCallback, boolean b, APFileChooserParams apFileChooserParams) {
                                //不需要自定義圖片選擇功能時,不攔截 H5 容器,return false;默認不攔截 H5 容器
                                //需要自定義圖片選擇功能時,攔截 H5 容器,return true
                                return true;
                            }
    
                            @Override
                            public void openFileChooser(Activity activity, ValueCallback valueCallback, boolean b, APFileChooserParams apFileChooserParams) {
                                // 拿到合法的 uri 給到前端
                                //必須調用該方法,若不調用,下次單擊回調不執行
                                //1.通過intent打開一個Activity,調用系統相冊或者拍照
                                //2.拿到選擇后的圖片
                                //3.關閉頁面通過valueCallback,傳遞給前端
                                valueCallback.onReceiveValue(xx);
                            }
                        });
    重要

    valueCallback.onReceiveValue(xx) 函數必須調用,若不調用,下次單擊回調不執行。

  2. 在回調函數 openFileChooser 中選擇圖片進行處理。

    1. 通過 intent 打開一個 Activity,調用系統相冊或者拍照。

    2. 獲取選擇后的圖片。

    3. 關閉打開的 Activity,通過 valueCallback 傳遞圖片給前端。

參考方案

方案一

  1. openFileChooser 的回調方法中注冊廣播接收者。

  2. openFileChooser 方法中通過 Intent 跳轉到自己創建的 Activity

  3. 調用系統的拍照/圖片選擇 SDK(可以進行擴展如圖片裁剪等功能)。

  4. 通過圖片選擇 Activity 獲取到最終的選擇圖片, 發送廣播到 openFileChooser 回調的廣播監聽者,關閉 Activity 頁面。

  5. 通過 WebView 系統的 valueCallback.onReceiveValue(xx) 傳遞給前端。

方案二

  1. openFileChooser 方法中通過 Intent 跳轉到一個 Activity,并將 valueCallback 傳遞給 Activity

  2. 調用系統的拍照/圖片選擇 SDK(可以進行擴展如圖片裁剪等功能)。

  3. 通過 WebView 系統的 valueCallback.onReceiveValue(xx) 傳遞給前端 。

  4. 關閉 Activity 頁面 。