使用 Intent.ACTION_OPEN_DOCUMENT_TREE 时的起始路径

spo*_*rts 7 android android-intent

使用时是否可以指定“起始路径” Intent.ACTION_OPEN_DOCUMENT_TREE

当我像这样使用它时:

 Intent chooseFolderIntent = new Intent(Intent.ACTION_OPEN_DOCUMENT_TREE);
 startActivityForResult(Intent.createChooser(chooseFolderIntent, getString(R.string.save_to_directory)), CHOOSE_FOLDER_CODE);
Run Code Online (Sandbox Code Playgroud)

它开始显示手机根目录下的所有文件夹。但我希望它开始显示某个路径(例如 DCIM 文件夹)

有什么额外的东西我可以用来指定这个吗?

ian*_*ake 6

在 API 26+ 上,您可以使用DocumentsContract.EXTRA_INITIAL_URI来设置ACTION_OPEN_DOCUMENT_TREEIntent的初始目录。请注意,URI 必须是从存储访问框架 API 中检索到的(即,它必须是文档树 URI)。

没有办法在 API 26 之前做到这一点。

  • 但是如何获得第一个 URI?我的客户很难找到他们想要授予访问权限的位置,因为大多数设备在第一次启动文档选择器时都需要“菜单->显示 SD 卡”或“菜单->显示内部存储”。 (7认同)