gpt4 book ai didi

android - 无法从 Uri 获取上次修改日期

转载 作者:行者123 更新时间:2023-12-03 08:03:05 43 4
gpt4 key购买 nike

我在应用程序的私有(private)应用程序特定文件夹中保存了一些文件。

如果我通过 FileProvider 获取文件 uri

val fileUri = getUriForFile(this, "$packageName.fileprovider", file)

并查询内容解析器以获取文件元数据

contentResolver.query(fileUri, null, null, null, null)

并检查我得到的光标内的所有columnNames,我可以看到只有两列,分别是_display_name_size

如果我想从 uri 获取文件的创建/上次修改日期怎么办?是我能做点什么吗?

(我知道我可以从 File 对象中获取它,但我需要从 uri 中获取它,真正的代码比这个示例更复杂。)

谢谢!

最佳答案

What if I wanted to obtain the date of creation/last modification of the file from the uri? Is there something I could do?

这在一定程度上取决于您的整体设置。

无法获取任意 Uri 的信息。例如,Google 云端硬盘不需要提供该信息,这就是为什么它不是您正在使用的 OpenableColumns 协议(protocol)(或其他任何协议(protocol))的一部分。因此,如果您不使用 File 的原因是因为您有来自不同来源的混合 Uri 值,那么您可能遇到麻烦了。

如果,OTOH,您知道您的 Uri始终来自您的 FileProvider,您可以从Uri 值,使用它来构造一个 File,并以这种方式获取信息(或者至少,Android 通过这些 File 提供的任何信息)方法)。或者,如果您可以接受创建/修改时间信息仅适用于您的 Uri 列表的子集,请对您自己的 FileProvider Uri 使用上述技巧 值,并且无需从其他地方获取的 Uri 值的数据即可生存。

关于android - 无法从 Uri 获取上次修改日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73295037/

43 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com