Android 我能';t删除文件夹';从路径中删除内容
我当前正在从FileExplorer获取此路径Android 我能';t删除文件夹';从路径中删除内容,android,path,android-storage,Android,Path,Android Storage,我当前正在从FileExplorer获取此路径 val path = "content://com.android.externalstorage.documents/tree/primary:Download" 我正在尝试删除此位置的内容: val fileFolder = File(path) deleteFolderContent(fileFolder) private fun deleteFolderContent(fileFolde
val path = "content://com.android.externalstorage.documents/tree/primary:Download"
我正在尝试删除此位置的内容:
val fileFolder = File(path)
deleteFolderContent(fileFolder)
private fun deleteFolderContent(fileFolder: File) {
val files = fileFolder.listFiles()
if (files.isNullOrEmpty()) {
return
} else {
for (file in files) {
file.delete()
}
}
}
但是文件
始终为空,我无法删除内容。我做错了什么?有人能帮我吗?谢谢
更新:
为了获得此“路径”,我做了以下操作:
val intent = Intent(Intent.ACTION_OPEN_DOCUMENT_TREE)
startActivityForResult(intent, SELECT_FOLDER_REQUEST_CODE)
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
if (requestCode == SELECT_FOLDER_REQUEST_CODE && resultCode == RESULT_OK) {
val uriTree = data?.data
}
}
您不能将
内容
目录作为文件
(即使URI
指向本地存储)。查看Provider
s和ContentResolver
,您有一些基础知识,对于文件,有一个特殊的:。但对于您的情况,可能最适合您的需要,方法如下:
context.contentResolver.delete(uriToDelete, null, null)
您可以将该内容方案视为文件系统路径。这是怎么回事。您使用了哪种操作来获取该uri/内容方案?@blackapps我已使用获取该问题的方法更新了该问题。您获取了一个SAF uri。你可以试试。DocumentFile.deleteFile()或DocumentFile.deleteDirectory()中的任意一个。此外,只有当目录为空时,才删除内容,而删除目录本身。。。