小编Phi*_*p G的帖子

如何更好地控制 Android SAF UI(例如 ACTION_OPEN_DOCUMENT)?

我希望 SAF 在指定文档中\xe2\x80\x9claunch 导航器(如果它是文件夹\xe2\x80\x9d)(他们在文档中这么称呼它)。

\n\n

这不起作用,所以我还想知道是否可以将存储快捷方式添加到 SAF UI。请参阅此链接中的图片:https://i.stack.imgur.com/adINm.jpg

\n\n

但我认为更有可能在特定文件夹中启动 SAF UI,因此我暂时可能会采用这种方法。我已经在 - 方法中尝试过onCreate(...):

\n\n
String pathAsString = Environment.getExternalStorageDirectory() + "/myscientificapp/measurements/";\nFile pathAsFile = new File(pathAsString);\n\nif (pathAsFile.exists()) { Log.d(TAG, "pathAsFile exists!"); } //This is printed in Logcat\n\nandroid.net.Uri pathAsUri = Uri.fromFile(pathAsFile);\nIntent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT);\nintent.addCategory(Intent.CATEGORY_OPENABLE);\nintent.setType("*/*");\nintent.putExtra(DocumentsContract.EXTRA_INITIAL_URI, pathAsUri); //Does not make effect\nstartActivityForResult(intent, REQUEST_OPEN_DOCUMENT);\n
Run Code Online (Sandbox Code Playgroud)\n\n

问题是它不起作用..或者我不知道该怎么做。:/

\n\n

我读过一些关于这些地方的内容。例如在Medium.com上,一位开发人员说:

\n\n
\n

当使用 ACTION_CREATE_DOCUMENT 选择保存文件的位置或打开文档时,新的 EXTRA_INITIAL_URI 允许您使用自己的自定义起始位置覆盖默认初始位置(用户选择的最后位置)。

\n
\n\n

在 Android 文档中,我们可以阅读有关EXTRA_INITIAL_URI的信息:

\n\n
\n

调用者可以通过 DocumentsContract#EXTRA_INITIAL_URI 设置文档 URI 来指示文档导航器的初始位置。如果指定文档是文件夹,系统将尽力在指定文档中启动导航器;如果不是,则在包含指定文档的文件夹中启动导航器。

\n …

android android-intent android-contentprovider storage-access-framework

6
推荐指数
1
解决办法
3520
查看次数