使用存储访问框架打开特定路径

时间:2018-08-28 11:42:38

标签: java android android-intent storage-access-framework

我可以通过使用意图打开 Files应用来编写文本文件。但是,当我通过意图打开“文件”应用程序时,它正在打开“下载”路径,而我想打开一个特定路径。有可能吗?

Intent intent = new Intent(Intent.ACTION_CREATE_DOCUMENT);
intent.addCategory(Intent.CATEGORY_OPENABLE);
intent.setType("text/plain");
intent.putExtra(Intent.EXTRA_TITLE, fileName);
startActivityForResult(intent, CREATE_REQUEST_CODE);

我想使用Intent启动“文件”应用程序,它应该打开特定路径。我通过传递Uri尝试了 intent.setDataAndType ,但是它不起作用。

2 个答案:

答案 0 :(得分:1)

为了指示文档导航器的初始位置,您应该将此添加到您的意图中:

intent.putExtra(DocumentsContract.EXTRA_INITIAL_URI, your_initial_uri);

像这样:

Intent intent = new Intent(Intent.ACTION_CREATE_DOCUMENT);
intent.addCategory(Intent.CATEGORY_OPENABLE);
intent.setType("text/plain");
intent.putExtra(DocumentsContract.EXTRA_INITIAL_URI, your_initial_uri);
intent.putExtra(Intent.EXTRA_TITLE, fileName);
startActivityForResult(intent, CREATE_REQUEST_CODE);

答案 1 :(得分:-1)

  

我想打开一个特定的路径。有可能吗?

不是通过Storage Access Framework(ACTION_CREATE_DOCUMENTACTION_OPEN_DOCUMENT和亲属)。

如果只想使用文件系统上的文件,请不要使用Storage Access Framework。您可以将许多file and directory chooser libraries集成到您的应用中。