我遇到了問題。我有Uri
其內容是這樣的:Uri,com.android.externalstorage.documents位於非主捲上
content://com.android.externalstorage.documents/document/[volume_uuid]:[file_path]
我能夠通過StorageManager.getStorageVolumes()
定位StorageVolume
如果卷是主:StorageVolume.isPrimary()
- 我知道我可以解析路徑:
Environment.getExternalStorageDirectory() + "/" + file_path;
但是如何定位路徑如果音量不是主要的?最後,我需要通過它的絕對路徑引用普通的File
對象。
P.S.當然,我確實擁有所有必要的權限:通過清單或運行時聲明都靜態聲明。
好吧,明白了。我可以用於相同的目的'DocumentFile'嗎? – barmaley
@barmaley:'DocumentFile'本身並不執行任何這些步驟。另外,'DocumentFile'只能用於存儲訪問框架中的'Uri'值(例如'ACTION_OPEN_DOCUMENT'),而我不確定你從哪裏得到這個'Uri'。但是,歡迎您嘗試一下您認爲有幫助的事情。 – CommonsWare
究竟 - 在我的情況我處理由'ACTION_OPEN_DOCUMENT'和'ACTION_OPEN_DOCUMENT_TREE' – barmaley