如何查询 Android 中的空桶名称列表
How to query list of EMPTY bucket names in Android
我想找到所有 MediaStore 存储桶,包括其中没有任何照片的存储桶。发布在 SO 上的所有解决方案查询照片然后提取存储桶名称,但由于存储桶为空,因此查询该特定存储桶不会返回任何照片。 Gallery App本身不显示为空Buckets/Folders.
BUCKET_ID
是任何媒体的 属性,基于提供商认为的媒体。 BUCKET_ID
是根据 MediaStore.MediaColumns
的 DATA
列自动计算得出的。 DATA
是磁盘上文件的路径。
因此,如果目录中没有媒体,则不会有 DATA
,因此不会创建 BUCKET_ID
属性。
如果您需要通过共同的 属性 来区分空桶和非空桶,请使用它们的路径 file.getPath()
,因为每个目录都有唯一的路径。
假设您的设备上有 10 个目录,其中包含媒体,而您的设备上可能有 1000 多个非媒体目录。因此,如果每次查询 MediaStore
.
时 android 搜索设备上的所有现有目录,这是不合逻辑的
所以不为 android 中的空目录分配 ID 的原因是搜索内部有媒体的目录的 ID,这要快得多,因为 MediaStore
的目的是更快地访问'only media' 个文件。
我想找到所有 MediaStore 存储桶,包括其中没有任何照片的存储桶。发布在 SO 上的所有解决方案查询照片然后提取存储桶名称,但由于存储桶为空,因此查询该特定存储桶不会返回任何照片。 Gallery App本身不显示为空Buckets/Folders.
BUCKET_ID
是任何媒体的 属性,基于提供商认为的媒体。 BUCKET_ID
是根据 MediaStore.MediaColumns
的 DATA
列自动计算得出的。 DATA
是磁盘上文件的路径。
因此,如果目录中没有媒体,则不会有 DATA
,因此不会创建 BUCKET_ID
属性。
如果您需要通过共同的 属性 来区分空桶和非空桶,请使用它们的路径 file.getPath()
,因为每个目录都有唯一的路径。
假设您的设备上有 10 个目录,其中包含媒体,而您的设备上可能有 1000 多个非媒体目录。因此,如果每次查询 MediaStore
.
所以不为 android 中的空目录分配 ID 的原因是搜索内部有媒体的目录的 ID,这要快得多,因为 MediaStore
的目的是更快地访问'only media' 个文件。