Android 问:我可以设置一次默认目录并在没有文件选择器的情况下保存文件吗?
Android Q: Can I set the default directory once and save files without file picker?
我有一个关于在 Android 中保存文件的问题 Q. 据我了解,如果我想将文件保存到 public 目录并希望其他人可以访问它我需要使用存储访问框架和 Android 的文件选择器的应用程序。我可以在首选项屏幕中设置一次保存文件的目录,而不必每次保存文件时都选择目录吗?
提前致谢。
我认为 Android 10 Q beta 无法做到这一点。
您可以像您所说的那样使用
创建文件
Environment.getExternalStorageDirectory()
&
Environment.getExternalStoragePublicDirectory()
直到 API 28.
这已从 API 29 中弃用。即 Android 10 Q.
Can I set up the directory where files will be saved once... without having to choose the directory every time a file is saving?
在 Android 5.1+ 上,您可以使用 ACTION_OPEN_DOCUMENT_TREE
允许用户选择基本目录。从那里,您可以:
- 使用
DocumentFile.fromTreeUri()
得到代表那棵树的DocumentFile
- 使用那个
DocumentFile
创建子树(例如目录)
- 使用
ContentResolver
和 takePersistableUriPermission()
可以长期访问您的新子树
- 使用
ContentResolver
和 DocumentFile
将内容放入该子树
我有一个关于在 Android 中保存文件的问题 Q. 据我了解,如果我想将文件保存到 public 目录并希望其他人可以访问它我需要使用存储访问框架和 Android 的文件选择器的应用程序。我可以在首选项屏幕中设置一次保存文件的目录,而不必每次保存文件时都选择目录吗?
提前致谢。
我认为 Android 10 Q beta 无法做到这一点。
您可以像您所说的那样使用
创建文件Environment.getExternalStorageDirectory()
&
Environment.getExternalStoragePublicDirectory()
直到 API 28.
这已从 API 29 中弃用。即 Android 10 Q.
Can I set up the directory where files will be saved once... without having to choose the directory every time a file is saving?
在 Android 5.1+ 上,您可以使用 ACTION_OPEN_DOCUMENT_TREE
允许用户选择基本目录。从那里,您可以:
- 使用
DocumentFile.fromTreeUri()
得到代表那棵树的DocumentFile
- 使用那个
DocumentFile
创建子树(例如目录) - 使用
ContentResolver
和takePersistableUriPermission()
可以长期访问您的新子树 - 使用
ContentResolver
和DocumentFile
将内容放入该子树