将文件下载到 Android 11 上的下载文件夹

问题描述

这可能是一个愚蠢的问题,但我真的需要一个答案。

据我了解,从 Android 10 开始,推荐的方式是将文件保存到系统为其分配的应用程序的内部目录中。

在我的应用程序中,用户下载内容,然后可以(并且最经常这样做)使用 Uri 方案将其删除或导入到游戏中。尝试保存文件this way 我可以保存文件甚至删除它,但不能导入。保存到缓存不适合我的应用程序。有些方法取决于设备上是否存在保存的文件

但是,在DownloadManager的帮助下,我可以从下载目录保存、删除和导入文件到游戏中。

问题:我可以在 Android 11 及更高版本上将文件保存到下载文件夹吗?如果不是,请告诉我另一种方式,以免违反任何规则。

非常感谢您的关注!

解决方法

https://developer.android.com/training/data-storage/shared/documents-files#document-tree-access-restrictions

访问限制 在 Android 11(API 级别 30)及更高版本上,您不能使用 ACTION_OPEN_DOCUMENT_TREE 意图操作请求访问以下目录:

内部存储卷的根目录。 设备制造商认为可靠的每个 SD 卡卷的根目录,无论该卡是模拟的还是可移动的。可靠的卷是应用程序可以在大多数时间成功访问的卷。 下载目录。 (复制自安卓文档)