3

我正在使用类 DownloadManager 的公共 api,我能够将文件下载到 sdcard,即所谓的外部存储。但是,当我尝试将文件下载到其他地方时,例如 /cache 分区,它会抛出一个安全异常,上面写着“目标必须在外部存储上”。

有谁知道如何绕过这个限制并将下载的文件写入 /cache 分区?

非常感谢。

4

2 回答 2

3

如果您正在开发系统应用程序,DownloadManager.Request 上有一个名为 setDestinationToSystemCache() 的隐藏函数

它需要以下权限:

android.permission.ACCESS_DOWNLOAD_MANAGER
android.permission.ACCESS_DOWNLOAD_MANAGER_ADVANCED"
android.permission.ACCESS_CACHE_FILESYSTEM
于 2015-05-29T05:37:29.447 回答
1

实际上我找到了一种将文件下载到 /cache 分区的方法。在DownloadManager类中,有一个api setDestinationUri(),调用这个函数,参数为“null”,android会下载文件到/cache分区。此外,如果参数不为 null,则 uri 必须以“/mnt/sdcard/...”开头,否则会引发异常。

于 2011-01-21T19:25:56.120 回答