Android Webview實現檔案下載功能
阿新 • • 發佈:2018-12-19
在做美圖欣賞Android應用的時候,其中有涉及到Android應用下載的功能,這個應用本身其實也比較簡單,就是通過WebView控制呼叫相應的WEB頁面進行展示。剛開始以為和普通的檔案下載實現,只需要一個連結,然後點選就可以實現下載了,可是放到手機上試的時候,點選下載連結一點反應都沒有,在普通頁面裡面點選是好的,且點選其它的普通連結是可以正常工作的。原來是因為WebView預設沒有開啟檔案下載的功能,如果要實現檔案下載的功能,需要設定WebView的DownloadListener,通過實現自己的DownloadListener來實現檔案的下載。具體操作如下:
1、設定WebView的DownloadListener:
webView.setDownloadListener(new MyWebViewDownLoadListener());
2、實現MyWebViewDownLoadListener這個類,具體可以如下這樣:
private class MyWebViewDownLoadListener implements DownloadListener { @Override public void onDownloadStart(String url, String userAgent, String contentDisposition, String mimetype, long contentLength) { Uri uri = Uri.parse(url); Intent intent = new Intent(Intent.ACTION_VIEW, uri); startActivity(intent); } }
這只是呼叫系統中已經內建的瀏覽器進行下載,還沒有WebView本身進行的檔案下載,不過,這也基本上滿足我們的應用場景了。