Android Webview實現文件下載功能

jopen 8年前發布 | 8K 次閱讀 Android開發 移動開發

在做美圖欣賞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本身進行的文件下載,不過,這也基本上滿足我們的應用場景了。