我有其他應用程序的共享意圖目錄的內容URI。從這我可以創建FileDescriptor並打開InputStream。但是,如何查看它是否是目錄並獲取文件(如果是目錄)呢? 謝謝!從目錄的FileDescriptor獲取文件
0
A
回答
0
我已經從其他應用的分享意圖
有作爲「目錄的內容URI」沒有這樣的事目錄的內容URI,任何超過有一個「目錄的REST URL」。
在某些情況下,我們可具有協議,其中一個Uri
表示的內容的集合(例如,ContactsContract.Contacts.CONTENT_URI
,一個Uri
經由ACTION_OPEN_DOCUMENT_TREE
檢索)。目前沒有這樣的協議,通過ACTION_SEND
在標準的Android中發佈。
從這個我可以創造的FileDescriptor和開放的InputStream
可能。這完全取決於Uri
究竟代表什麼。
但是,如何檢查它是否是目錄並獲取文件,如果它是目錄?
一般情況下,你不能。
如果Uri
恰好由文件提供者進行備份,並Uri
恰好代表的內容的樹,DocumentFile.fromTreeUri()
會讓你列出該樹中的文件,類似於上File
的API。
否則,歡迎您來看看MIME類型Uri
的。如果MIME類型以vnd.android.cursor.dir/
開頭,那麼它應該是Uri
,您可以query()
,儘管沒有關於哪些列的規則。如果MIME類型是其他任何內容,則對於內容是什麼以及如何使用它沒有規定。
對於特定的應用程序,您可以聯繫應用程序的開發人員,並詢問他們:「嘿,當您給我看起來像這樣的Uri
,我該如何使用它?」。
TL; DR:如果你是通過ACTION_SEND
,如該Uri
點什麼,是不是一塊內容,發送應用程序有一個bug給予Uri
。
相關問題
- 1. 獲取從文件目錄
- 2. 在Java中的目錄FileDescriptor
- 3. 獲取從目錄文件到NSData的
- 4. 獲取文件的目錄
- 5. java:從目錄中獲取.zip文件
- 6. 從.txt文件獲取目錄
- 7. 從目錄中獲取文件名
- 8. 從目錄獲取所有文件名
- 9. 從文件名獲取目錄名稱
- 10. jsp從目錄獲取文件名
- 11. 從Lua目錄中獲取文件名
- 12. 如何從/ public目錄獲取文件?
- 13. 從web.config文件獲取初始目錄
- 14. Java - 從目錄中獲取文件名
- 15. 如何從C#目錄獲取文件
- 16. 從根目錄中的文件夾獲取目錄PHP
- 17. SoundPool.load()和FileDescriptor文件
- 18. 從服務器獲取目錄,子目錄和文件
- 19. 如何從目錄和子目錄獲取ftl文件
- 20. 如何從目錄中獲取文件特定的文件名?
- 21. 從放置jar文件的特定目錄獲取文件
- 22. Ant:從**/*文件集選擇器獲取文件的目錄
- 23. 如何從目錄中獲取子文件夾中的文件
- 24. 從網頁目錄獲取文件的文件名
- 25. 如何從FileDescriptor創建文件?
- 26. 在C++中獲取filedescriptor的問題
- 27. 如何從文件名獲取文件路徑和目錄?
- 28. 從文件路徑獲取文件目錄路徑
- 29. 從目錄獲取文件並將其添加到zip文件
- 30. Subversion:從.svn目錄中的文件中獲取文件的歷史記錄?