我有一个应用程序,当我按下按钮时,它应该打开文件夹选择器,并允许用户仅浏览和选择文件夹。然后,我想获取文件夹的路径,以便可以对其进行一些操作。
我尝试使用此代码:
val intent = Intent(Intent.ACTION_GET_CONTENT)
intent.type = "*/*"
startActivityForResult(intent, 8778)
但这不起作用。
请提供一些代码,以帮助您。谢谢。
答案 0 :(得分:2)
它应该打开文件夹选择器,并允许用户仅浏览和选择一个文件夹
Android与之类似的最接近的事物是ACTION_OPEN_DOCUMENT_TREE
。这使用户可以选择文档树,该文档树可以是文件系统上的目录,云存储提供商提供的内容或其他文档树结构。
然后,我想获取文件夹的路径,以便可以对其进行一些操作。
如果用“路径”表示“文件系统路径”,则有两个问题:
文档树不一定是文件系统上的目录,并且您没有可靠的方法来获取文件系统路径
您无权访问Android Q(默认情况下)和Android R +(对于所有应用程序)上的任意文件系统位置
您可能想花一些时间来学习一般的the Storage Access Framework和ACTION_OPEN_DOCUMENT_TREE
in particular。
答案 1 :(得分:0)
Android中没有文件管理器。第三方文件管理器可能会或可能不会提供某种选择文件夹的Intent操作。
我建议您直接在应用程序中实现此UI。在android pick文件夹中进行搜索会发现一些候选库和代码示例,例如此博客文章和此开源项目。