zoukankan      html  css  js  c++  java
  • Android Webview实现文件下载功能

        在做美图欣赏Android应用的时候,其中有涉及到Android应用下载的功能,这个应用本身其实也比较简单,就是通过WebView控制调用相应的WEB页面进行展示。刚开始以为和普通的文件下载实现,只需要一个链接,然后点击就可以实现下载了,可是放到手机上试的时候,点击下载链接一点反应都没有,在普通页面里面点击是好的,且点击其它的普通链接是可以正常工作的。原来是因为WebView默认没有开启文件下载的功能,如果要实现文件下载的功能,需要设置WebView的DownloadListener,通过实现自己的DownloadListener来实现文件的下载。具体操作如下:

        1、设置WebView的DownloadListener:

        webView.setDownloadListener(new MyWebViewDownLoadListener());

        2、实现MyWebViewDownLoadListener这个类,具体可以如下这样:    

    1. private class MyWebViewDownLoadListener implements DownloadListener {  
    2.   
    3.         @Override  
    4.         public void onDownloadStart(String url, String userAgent, String contentDisposition, String mimetype,  
    5.                                     long contentLength) {  
    6.             Uri uri = Uri.parse(url);  
    7.             Intent intent = new Intent(Intent.ACTION_VIEW, uri);  
    8.             startActivity(intent);  
    9.         }  
    10.   
    11.     }  

        这只是调用系统中已经内置的浏览器进行下载,还没有WebView本身进行的文件下载,不过,这也基本上满足我们的应用场景了。

    本文出自:冯立彬的博客

  • 相关阅读:
    c# 子窗体打开或者切换就最大化
    TreeView失去焦点时亮显选中状态
    解决 RecursionError: maximum recursion depth exceeded
    CentOS7安装jdk1.8
    CentOS7安装mysql5.7
    CentOS7安装redis3.2.3
    CentOS7安装nginx1.8
    centos7设置redis开机自启动
    Linux下执行sh脚本报错:$' ': command not found
    Linux下使用unhide查看隐藏文件
  • 原文地址:https://www.cnblogs.com/wangzehuaw/p/4354010.html
Copyright © 2011-2022 走看看