我想查找所有MediaStore存儲桶,包括其中沒有任何照片的存儲桶。 SO上發佈的所有解決方案都會查詢照片,然後提取存儲桶名稱,但由於存儲桶是空的,查詢將不會返回該特定存儲桶的照片。圖庫應用程序本身不顯示空的桶/文件夾。如何查詢Android中的EMPTY存儲桶名稱列表
1
A
回答
1
BUCKET_ID
是基於提供者視爲媒體的任何媒體的屬性。從DATA
列MediaStore.MediaColumns
自動計算出BUCKET_ID
。 DATA
是磁盤上文件的路徑。 因此,如果目錄中沒有媒體,則不會有DATA
,因此沒有BUCKET_ID
屬性創建發生。
如果您需要通過它們共有的屬性來區分空桶和非空桶,請使用它們的路徑file.getPath()
,因爲每個目錄都有唯一的路徑。
想象一下,您的設備上有10個內含媒體的目錄,而設備上可能包含超過1000個非媒體包含的目錄。因此,如果Android在每次查詢您的設備時都搜索設備上的所有現有目錄,這是不合邏輯的。
所以,從android中分配id到空目錄背後的原因是通過其中有媒體的目錄的ID進行搜索,因爲MediaStore
的目的是更快地訪問「僅媒體」文件。
相關問題
- 1. Android:如何查詢桶名稱列表
- 2. 如何查詢表的列名稱
- 3. 如何更改MongoDB GridFS中的存儲桶名稱?
- 4. AWS:什麼是存儲桶名稱?
- 5. 如何查詢名稱存儲在SQL的另一個表中的表?
- 6. 如何在.Net S3 SDK中按名稱獲取存儲桶?
- 7. Android - FirebaseApp未初始化存儲桶名稱
- 8. django s3存儲區不識別存儲桶名稱
- 9. 是否有查詢選擇名稱存儲在另一個表中的列?
- 10. SQL - 寫字段名稱和表名存儲在表中的查詢?
- 11. 如何獲取查詢的列名稱
- 12. Amazon S3:如何獲取存儲桶中的文件夾列表?
- 13. 存儲在存儲桶列表中的項目數量
- 14. Grails域名列表名稱查詢
- 15. 如何獲取python中SQL查詢的表列名稱/標題
- 16. 存儲過程子查詢中臨時表的列名無效
- 17. 如何使用存儲在字段中的查看名稱進行sql查詢?
- 18. 獲取AWS S3中所有存儲桶的名稱和數量
- 19. 如何從PostgreSQL查詢表的字段名稱列表?
- 20. 在Android應用上查詢s3存儲桶
- 21. 如何執行存儲在表列MySQL中的查詢?
- 22. 如何列出任何SQL查詢中的列名稱
- 23. 使用帶文件名的存儲桶搜索s3存儲桶中的文件
- 24. 如何在Google表格查詢中明確使用列名稱
- 25. 如何在Elasticsearch中過濾或查詢索引名稱列表?
- 26. 更新查詢,如何從其他表中獲取列名稱
- 27. 存儲桶名稱何時過期並獲得釋放?
- 28. 提取表名稱存在查詢
- 29. 公有Google Cloud Storage存儲桶列表
- 30. 如何將S3存儲桶名稱後綴與用戶名前綴相匹配
是10媒體目錄限制某處記錄?我幾乎完成了類似於您所描述的實現,但我已經能夠在PICTURES目錄中創建10個以上的目錄,並且一旦將圖像放入它們中,MediaStore就會生成適當的BUCKET_ID。 –
'是否有10個媒體目錄限制在某處?'編輯我的第三段。沒有這個數字只是一個想象的例子,便於解釋。 – Eftekhari