Android:仅限文件夹选择器

Mer*_*aju 5 android android-file kotlin android-storage

我有一个应用程序,当我按下按钮时,它应该打开文件夹选择器并允许用户仅浏览和选择文件夹。然后我想获取该文件夹的路径,以便我可以对其进行一些操作。

我尝试过使用这段代码:

val intent = Intent(Intent.ACTION_GET_CONTENT)
intent.type = "*/*"
startActivityForResult(intent, 8778)
Run Code Online (Sandbox Code Playgroud)

但这不起作用。

您能帮我提供一些代码吗?

Com*_*are 10

它应该打开文件夹选择器并允许用户仅浏览和选择一个文件夹

Android 与此最接近的东西是ACTION_OPEN_DOCUMENT_TREE. 这允许用户选择文档树,它可以是文件系统上的目录、云存储提供商提供的东西或其他文档树结构。

然后我想获取文件夹的路径,以便我可以对其进行一些操作。

如果“路径”指的是“文件系统路径”,则有两个问题:

  1. 文档树不一定是文件系统上的目录,并且您没有可靠的方法来获取文档树的文件系统路径

  2. 您无法访问 Android Q(默认)和 Android R+(对于所有应用)上的任意文件系统位置

您可能需要花一些时间来了解存储访问框架的一般知识和ACTION_OPEN_DOCUMENT_TREE具体知识