Android:仅文件夹选择器

时间:2019-07-14 11:42:36

标签: android kotlin android-file android-storage

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

我尝试使用此代码:

val intent = Intent(Intent.ACTION_GET_CONTENT)
intent.type = "*/*"
startActivityForResult(intent, 8778)

但这不起作用。

请提供一些代码,以帮助您。谢谢。

2 个答案:

答案 0 :(得分:2)

  

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

Android与之类似的最接近的事物是ACTION_OPEN_DOCUMENT_TREE。这使用户可以选择文档树,该文档树可以是文件系统上的目录,云存储提供商提供的内容或其他文档树结构。

  

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

如果用“路径”表示“文件系统路径”,则有两个问题:

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

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

您可能想花一些时间来学习一般的the Storage Access FrameworkACTION_OPEN_DOCUMENT_TREE in particular

答案 1 :(得分:0)

Android中没有文件管理器。第三方文件管理器可能会或可能不会提供某种选择文件夹的Intent操作。

我建议您直接在应用程序中实现此UI。在android pick文件夹中进行搜索会发现一些候选库和代码示例,例如此博客文章和此开源项目。