美文网首页
DownLoadManager遇到的问题

DownLoadManager遇到的问题

作者: code点点DD | 来源:发表于2016-07-01 14:38 被阅读2716次

    问题1


    问题描述:使用DownLoadManager下载,设置好下载文件的存放路径。当我们根据这个路径去读取文件的时候,发现读不到这个文件。

    例如:

    设置文件的下载路径(Environment.DIRECTORY_DOWNLOADS):

    request.setDestinationInExternalFilesDir(this, Environment.DIRECTORY_DOWNLOADS,GetFileName(url));

    设置文件的读取路径:File file =newFile(Environment.DIRECTORY_DOWNLOADS);

    结果:读取不到已存在的文件。

    造成读不到这个文件的原因是:文件下载后的存放路径与读取这个文件的路径不一致。

    虽然我们看似写了同一个路径,但你所写的并不是绝对路径。这个路径的前面部分是不同的。接下来细细探讨下。

    其实:

    request.setDestinationInExternalFilesDir(x, URIForDM,x);这个方法的默认路径是

    mnt/sdcard/Android/data/(packageName)/files+URIForDM

    所以我们在使用File file =newFile(URIForDM);是不对的。

    正确的读取路径是在设置的下载路径前加上默认的路径

    完整的读取路径为:File file =newFile(mnt/sdcard/Android/data/(packageName)/files+URIForDM);

    我在程序里面将默认的前部分路径获取写成如下:

    Environment.getExternalStorageDirectory().getAbsolutePath()+File.separator+"Android"+File.separator+"data"+File.separator+context.getPackageName()+File.separator+"files";

    这个路径加上你设置的URIForDM就可以获取DownLoadManager下载的文件。

    相关文章

      网友评论

          本文标题:DownLoadManager遇到的问题

          本文链接:https://www.haomeiwen.com/subject/kafudttx.html