DownloadManager:下载文件到缓存分区

发布于 2024-10-13 02:13:52 字数 174 浏览 1 评论 0原文

我正在使用 DownloadManager 类的公共 api,我能够将文件下载到 SD 卡(所谓的外部存储)。但是,当我尝试将文件下载到其他位置(例如 /cache 分区)时,它会抛出一个安全异常,提示“目标必须位于外部存储上”。

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

多谢。

I am using the public api of class DownloadManager, I am able to download files to sdcard, so-called external storage. However, when I tried to download a file to other places, like /cache partition, it throw a security exception which says "Destination must be on external storage".

Does anyone know how to bypass this limitation and write downloaded file to /cache partition ?

Thanks a lot.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

与之呼应 2024-10-20 02:13:52

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

它需要以下权限:

android.permission.ACCESS_DOWNLOAD_MANAGER
android.permission.ACCESS_DOWNLOAD_MANAGER_ADVANCED"
android.permission.ACCESS_CACHE_FILESYSTEM

If you're developing a system app, there is a hidden function on DownloadManager.Request named setDestinationToSystemCache()

It requires these permissions:

android.permission.ACCESS_DOWNLOAD_MANAGER
android.permission.ACCESS_DOWNLOAD_MANAGER_ADVANCED"
android.permission.ACCESS_CACHE_FILESYSTEM
流年里的时光 2024-10-20 02:13:52

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

Actually I found a way to download files to /cache partition.
In the DownloadManager class, there is an api
setDestinationUri(), call this function with parameter "null", the android would download files to /cache partition. Moreover, if the parameter is not null, the uri must start with "/mnt/sdcard/..." otherwise an exception would be thrown.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文