我正在使用一个意图来调用我的应用程序外部的文件选择器。一些文件选择器应用程序返回一个方案“内容”的Uri。
我需要获取所选对象的最后修改日期。当方案是“内容”时,我该怎么做?我找不到合适的API。
有一些API可以返回FileDescriptor。但我没有从FileDescriptor获取最后修改日期。任何帮助欣赏。
最好的问候
答案 0 :(得分:2)
一般情况下,您无法做您想做的事情 - 没有API可以获取"内容"描述的项目的文件。 URI,因为内容URI无论如何都不必与文件对应。
实际上,可以获取某些内容URI的文件路径:
正如您所描述的,有时您可以通过将内容方案更改为文件方案来操作内容uri
如果内容URI来自媒体商店,那么您可以进行查询以获取文件路径
public static String getPathnameFromMediaUri(Activity activity, Uri contentUri) { String[] projection = { MediaStore.Images.Media.DATA }; Cursor cursor = activity.managedQuery(contentUri, projection, null, null, null); int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA); cursor.moveToFirst(); return cursor.getString(column_index); }
还有很多其他问题提出了相同的事情,提供了进一步的想法(或者相同想法的工作略有不同)