我正在使用 kotlin,似乎无法从 onActivityResult OPEN_DOCUMENT_TREE 获取正确的目录路径
我正在用这个
if (requestCode == REQUEST_CODE_OPEN_DOCUMENT_TREE && resultCode == Activity.RESULT_OK) {
data?.data?.also { uri ->
val selectedDirectory = DocumentFile.fromTreeUri(activity, uri) ?: return
// Get the primary external storage directory
val storageDir = Environment.getExternalStorageDirectory()
val storagePath = storageDir.absolutePath
val path = storagePath + "/" + selectedDirectory.name
storagepath 给了我 /storage/emulated/0 这是我不想要的, selectedDirectory.name 给了我文件夹名称,但我丢失了中间的所有文件夹。例如,如果我想要 /storage/emulated/0/Download/test 我会得到 /storage/emulated/0/test。无论如何我可以有路径=完整路径吗?
这似乎是正确答案。
val storageDir = Environment.getExternalStorageDirectory() val storagePath = storageDir.absolutePath val path = storagePath + "/" + uri.lastPathSegment?.replace("primary:", "")