【发布时间】:2021-08-29 16:29:25
【问题描述】:
MediaStore 在哪些文件夹中为MediaStore.Files.FileColumns 收集文件?
【问题讨论】:
-
在文件集合中,您可以找到所有非私人文件。对于其余的问题,您在标题和帖子中的问题不匹配并且很奇怪。
标签: java android android-studio kotlin mediastore
MediaStore 在哪些文件夹中为MediaStore.Files.FileColumns 收集文件?
【问题讨论】:
标签: java android android-studio kotlin mediastore
它收集媒体文件存储在默认媒体目录(如图片/或DCIM/)中
我正在使用 CursorLoader 来查询数据库。构造函数的第二个参数需要一个 Uri 参数,这对于媒体类型 Audio、Images 和 Video 来说很容易获得,因为它们中的每一个都为它们定义了一个 EXTERNAL_CONTENT_URI 和 INTERNAL_CONTENT_URI 常量。
ContentResolver cr = context.getContentResolver();
Uri uri = MediaStore.Files.getContentUri("external");
// every column, although that is huge waste, you probably need
// BaseColumns.DATA (the path) only.
String[] projection = null;
// exclude media files, they would be here also.
String selection = MediaStore.Files.FileColumns.MEDIA_TYPE + "="
+ MediaStore.Files.FileColumns.MEDIA_TYPE_NONE;
String[] selectionArgs = null; // there is no ? in selection so null
here
String sortOrder = null; // unordered
Cursor allNonMediaFiles = cr.query(uri, projection, selection,
selectionArgs, sortOrder);
【讨论】: