我的应用程序使用DownloadManager下载pdf文件,并将其保存到外部存储中的文件夹中。
File folder = new File(Environment.getExternalStorageDirectory(), "Class 10");
File chapterFile = new File(folder, "jess301.pdf");
request = new DownloadManager.Request(Uri.parse("http://www.ncert.nic.in/NCERTS/l/jess301.pdf"))
.setTitle("Book Name")
.setDescription("Chapter Name")
.setDestinationUri(Uri.fromFile(chapterFile))
.setVisibleInDownloadsUi(false);
downloadID = downloadManager.enqueue(request);
Run Code Online (Sandbox Code Playgroud)
在许多设备(例如nexus 4)上,下载管理器会将下载的文件保存到Class 10/jess301.pdf预期的位置。
但是在某些设备(例如Micromax A110:4.0.4版)上,下载的文件保存到其他位置- Class%2010/jess301.pdf。在这些设备上,文件路径中的空格字符替换为%20。
当我在具有API 15的仿真器中运行代码时,它可以正常工作。
报告此问题的所有设备都运行Android版本3.2至4.1。但是代码可以在相应的仿真器上正常工作。
如何在所有设备上正常工作?
我当前的解决方法是将文件从错误的位置移到正确的位置。
此链接讨论与StreamResult相关的相同问题。
| 归档时间: |
|
| 查看次数: |
1330 次 |
| 最近记录: |