Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 是否有ContentResolver来获取文件而不是FileDescriptor?_Android_File Io - Fatal编程技术网

Android 是否有ContentResolver来获取文件而不是FileDescriptor?

Android 是否有ContentResolver来获取文件而不是FileDescriptor?,android,file-io,Android,File Io,我正在使用意图调用我的应用程序外部的文件选择器。一些文件选择器应用程序返回模式“content”的Uri 我需要获取所选对象的最后修改日期。当计划是“内容”时,我该怎么做?我没有找到合适的API 有一些API返回一个FileDescriptor。但是我没有从FileDescriptor获取最后修改的日期。谢谢你的帮助 致意一般来说,您不能随心所欲—没有API可以为“内容”URI描述的项目获取文件,因为内容URI不必与文件相对应 实际上,可以获取某些内容URI的文件路径: 正如您所描述的,有时您

我正在使用意图调用我的应用程序外部的文件选择器。一些文件选择器应用程序返回模式“content”的Uri

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

有一些API返回一个FileDescriptor。但是我没有从FileDescriptor获取最后修改的日期。谢谢你的帮助


致意

一般来说,您不能随心所欲—没有API可以为“内容”URI描述的项目获取文件,因为内容URI不必与文件相对应

实际上,可以获取某些内容URI的文件路径:

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

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

公共静态字符串getPathnameFromMediaUri(活动,Uri内容Uri) { 字符串[]投影={MediaStore.Images.Media.DATA}; Cursor Cursor=activity.managedQuery(contentUri,projection,null,null); int column_index=cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA); cursor.moveToFirst(); 返回cursor.getString(列索引); } 还有一大堆其他的问题,问的几乎是相同的问题,提供了进一步的想法(或者对相同想法的处理略有不同)


它是您自己的自定义ContentProvider吗?不,例如,它提供了一个带有内容架构的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); }