zoukankan      html  css  js  c++  java
  • WebView文件下载

    1.调用其它浏览器下载文件:

    这个很简单,我们只需为WebView设置setDownloadListener,然后重写DownloadListener的 onDownloadStart,然后在里面写个Intent,然后startActivity对应的Activity即可!

    关键代码如下

    wView.setDownloadListener(new DownloadListener(){
    @Override
    public void onDownloadStart(String url, String userAgent, String contentDisposition, 
        String mimetype, long contentLength) {
            Log.e("HEHE","开始下载");
            Uri uri = Uri.parse(url);
            Intent intent = new Intent(Intent.ACTION_VIEW,uri);
            startActivity(intent);
        }
    });

    如果你手机内存在多个浏览器的话,会打开一个对话框供你选择其中一个浏览器进行下载~


    2.自己写线程下载文件

    当然,你可能不想把下载文件放到默认路径下,或者想自己定义文件名等等,你都可以自己来写 一个线程来下载文件,实现示例代码如下:

    核心代码

    我们自己另外写一个下载的线程类:

    DownLoadThread.java

     

    然后MainActivity.java中创建并启动该线程:

    wView.setDownloadListener(new DownloadListener(){
        @Override
        public void onDownloadStart(String url, String userAgent, String contentDisposition, 
        String mimetype, long contentLength) {
                Log.e("HEHE","onDownloadStart被调用:下载链接:" + url);
                new Thread(new DownLoadThread(url)).start();
        }
    });

    注意事项

    好的,另外,别忘了写SD卡的读写权限以及Internet访问网络的权限:

    <uses-permission android:name="android.permission.INTERNET"/>
    <!-- 在SDCard中创建与删除文件权限 -->
    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
    <!-- 往SDCard写入数据权限 -->
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
     
  • 相关阅读:
    如何升级 sof_to_rbf.bat 文件
    用sopc-create-header-files工具产生头文件提示找不到命令
    HTTP状态码
    HTML5与CSS3知识点总结
    uni-app input 监听回车键 输入回车确定
    原生微信小程序转换uni-app
    关闭vscode保存就自动格式化的功能
    uni-appH5(uni.chooseFile uni.chooseImage)限制图片类型
    uni-appH5(uni.chooseFile uni.chooseImage)上传图片大小限制大小
    textRNN & textCNN
  • 原文地址:https://www.cnblogs.com/feng747/p/14910317.html
Copyright © 2011-2022 走看看