问题描述
我正在尝试为利用 DocumentFile
实例进行文件/目录操作的 Android 代码实施单元测试。通常可以通过使用 ACTION_OPEN_DOCUMENT_TREE
选择一个位置来启动这些测试,但我无法获得 DocumentFile
的实例作为此类单元测试的一部分(无需用户交互)。
如果我能够将应用程序私有存储中的位置转换为 DocumentFile
,这对于我的用例来说就足够了,但是将目录的 file://
URI 转换为 DocumentFile
似乎不可能。
解决方法
DocumentFile.fromFile()
的文档不太清楚,但它适用于文件和目录。与 Uri
值相反 - 您需要调用 fromSingleUri()
或 fromTreeUri()
来区分文档和树 - fromFile()
可以自行解决。