Android Webview實現文件下載功能
在做美圖欣賞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); } } </pre> <div>
這只是調用系統中已經內置的瀏覽器進行下載,還沒有WebView本身進行的文件下載,不過,這也基本上滿足我們的應用場景了。