这不起作用,所以我也想知道是否可以将存储快捷方式添加到SAF UI。请参阅此链接处的图片:
https://i.imgur.com/yGtcGMM.jpg
但我认为在一个特定的文件夹中启动SAF用户界面更为可能,所以我现在可能会采用这种方法。我试过这个
onCreate(...)
-方法:
String pathAsString = Environment.getExternalStorageDirectory() + "/myscientificapp/measurements/";
File pathAsFile = new File(pathAsString);
if (pathAsFile.exists()) { Log.d(TAG, "pathAsFile exists!"); } //This is printed in Logcat
android.net.Uri pathAsUri = Uri.fromFile(pathAsFile);
Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
intent.addCategory(Intent.CATEGORY_OPENABLE);
intent.setType("*/*");
intent.putExtra(DocumentsContract.EXTRA_INITIAL_URI, pathAsUri); //Does not make effect
startActivityForResult(intent, REQUEST_OPEN_DOCUMENT);
问题是它不起作用。。或者我不知道怎么做。:/
我读过一些关于这些地方的文章。例如在
Medium.com
当使用ACTION_CREATE_DOCUMENT选择保存文件的位置或打开文档时,新的额外初始_URI允许您使用自己的自定义起始位置覆盖默认初始位置(用户选择的最后一个位置)。
在Android文档中我们可以看到
EXTRA_INITIAL_URI
:
额外的初始URI
...
...
如果缺少此额外位置或文档导航器无法找到所需的初始位置,则初始位置是系统特定的。
但在Stackoverflow上有些开发人员告诉我们
it will not work
所以根据一些消息来源,它应该是有效的。
编辑:
intent.putExtra(DocumentsContract.EXTRA_INITIAL_URI, pathAsTreeUri);
. 但SAF并不是从我作为Uri传递的位置开始的。:(