- android/
- Android 是否有ContentResolver来获取文件而不是FileDescriptor?
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);
}