關於Android WebView上傳文件的解決方案
們在開發需求的時候,難免會接入一下第三方的H5頁面,有些H5頁面是具有上傳照片的功能,Android 中的 WebView是不能直接打開文件選擇彈框的
接下來我講簡單提供一下解決方案,先說一下思路
1.接收WebView打開文件選擇器的通知
2.收到通知後,打開文件選擇器等待用戶選擇需要上傳的文件
3.在onActivityResult中得到用戶選擇的文件的Uri
4.然後把Uri傳遞給Html5
這樣就完成了一次H5選擇文件的過程,下面我把代碼貼出來自習看一下
首先,WebView必須要支持JS交互,所以要打開JS交互
mWebView.getSettings().setJavaScriptEnabled(true);
當H5在調用上傳文件的Api的時候,WebView會回調 openFileChooser和onShowFileChooser 方法來通知我們,我們這個時候要做的就是重寫這個方法
需要注意的是這個方法在不同的Api上會回調不同行參方法
我們在openFileChooser方法中先保存了一下ValueCallback的回調對象,這個對象最後用來通知H5文件地址,我們之後在調用openFileChooser方法來打開文件選擇器
當用戶選擇完文件後,會調用onActivityResult方法,我們重寫並等待回調
onActivityResult就是用來通知H5用戶選擇的文件地址,在這個方法里,用我們之前保存的ValueCallback對象,調用onReceiveValue方法,H5就可以收到我們傳遞給它的地址信息了!
文章來自博客園
找工作難?那是你沒選對行業!
2017年【中公教育】特別推出2017年就業促進計劃,500萬就業基金助你成為IT達人
詳情請戳://www.ujiuye.com/zt/jycj/?wt.bd=fq37300j
什麼?海量IT學習資料白給你都不要?別想了,加群搶:584053956
※一種Webconfig自動化升級方法
※常用的SEO免費工具
※Linux系統文件目錄管理常用的命令
※IT體驗課|網路營銷、UI、WEB最後一批10月14日截止
※iOS開發之UITableView中計時器的幾種實現方式
TAG:IT優就業 |