【发布时间】:2020-02-09 06:16:22
【问题描述】:
Android Api 29 在文件和文件夹方面有很大的变化。 到目前为止,我还没有找到一种方法来在内部存储中创建一个公开可见的文件夹。 我创建的每个文件夹只能由我的应用查看。
我编写了一个应用程序来创建数据文件,这些数据文件应被其他应用程序拾取,例如 Total Commander 将它们复制到目的地。 在我激活 Api 29 之前一切正常。我的一些客户确实使用像素手机,他们使用的是 Android 10。
如何在 Android 10 中创建公开的文件夹和文件?
这已被弃用:
Environment.getExternalStorageDirectory();
Environment.getExternalStoragePublicDirectory(type);
当我使用
File root = context.getExternalFilesDir(null);
创建的文件只能由我的应用程序看到。 如何实现在 Android 10 之前有效的行为?
提前致谢。
【问题讨论】:
-
使用 ACTION_OPEN_DOCUMENT_TREE 或 ACTION_OPEN_DOCUMENT。有了它们,您可以访问所有外部存储,包括内部和 microSD 卡。生活是美好的。
-
@blackapps 通过这两个操作,用户会看到一个打开的对话框?有没有办法在没有打开对话框 API 29 / 30 的情况下访问(读/写)
-
不,没有。使用这些操作调用用户。
标签: android android-10.0