【问题标题】:Is there a ContentResolver to obtain a File instead of a FileDescriptor?是否有 ContentResolver 来获取 File 而不是 FileDescriptor?
【发布时间】:2014-04-11 22:02:20
【问题描述】:

我正在使用意图来调用我的应用程序外部的文件选择器。一些文件选择器应用程序返回方案“内容”的 Uri。

我需要获取所选对象的最后修改日期。当方案是“内容”时,我该怎么做?我没有找到合适的 API。

有一些 API 会返回 FileDescriptor。但我没有从 FileDescriptor 获得最后修改日期。任何帮助表示赞赏。

最好的问候

【问题讨论】:

标签: android file-io


【解决方案1】:

一般来说,你不能做你想做的事 - 没有 API 可以为由“内容”URI 描述的项目获取文件,因为内容 URI 不必与文件相对应。

在实践中,可以获得某些内容 URI 的文件路径:

  • 正如您所描述的,有时您会很幸运,通过将内容方案更改为文件方案来操作内容 uri

  • 如果内容 URI 来自媒体存储,那么您可以进行查询以获取文件路径

公共静态字符串 getPathnameFromMediaUri(活动活动,Uri contentUri) { 字符串 [] 投影 = { MediaStore.Images.Media.DATA }; 光标 cursor = activity.managedQuery(contentUri, projection, null, null, null); int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA); cursor.moveToFirst(); 返回 cursor.getString(column_index); }

还有很多其他问题都在问几乎相同的问题,从而提供了进一步的想法(或相同想法的工作方式略有不同)

【讨论】:

    猜你喜欢
    • 2020-12-22
    • 1970-01-01
    • 2017-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-04
    • 1970-01-01
    相关资源
    最近更新 更多