在 Android Q 的外部存储中创建 App-Specific 文件夹

Posted

技术标签:

【中文标题】在 Android Q 的外部存储中创建 App-Specific 文件夹【英文标题】:Create App-Specific folder in External Storage in Android Q 【发布时间】:2020-10-27 15:44:30 【问题描述】:

我想在内部存储中创建一个特定于应用程序的文件夹,类似于 Whatsapp、Telegram 等。目标 SDK 为 29、Environment.getExternalStorageDirectory 的应用程序已被弃用。现在,android 确实允许使用旧标志创建这样的文件夹,但我想知道有没有其他方法可以这样做。

我想在这个路径创建一个文件夹 - /storage/emulated/0/MY_APPMY_APP是我要创建的文件夹的名称

【问题讨论】:

【参考方案1】:

我想知道有没有其他方法可以这样做

没有。而且,在 Android 11+ 上,一旦您的 targetSdkVersion 达到 30,您将无法使用 android:requestLegacyExternalStorage="true"。请注意,这也会影响您引用的应用程序,但可能由设备制造商预加载的应用程序除外。

Google 希望您使用存储访问框架并让用户决定用户的应用在用户的设备上的位置(即你)应该放置用户的内容,而不是你自己决定。

【讨论】:

以上是关于在 Android Q 的外部存储中创建 App-Specific 文件夹的主要内容,如果未能解决你的问题,请参考以下文章

我们不能以编程方式在 Android 'R' 的外部存储中创建文件夹,即使用颤振的 android 11(操作系统错误:不允许操作,errno = 1)

使用存储在 s3 中的 parquet 文件在 Greenplum 中创建外部表

如何在本地存储/外部 Flutter 中创建文件夹?

在 Android 的外部存储中写入文件

使用镶木地板文件作为存储在 Hive 中创建外部表后获取 NULL

在 Native App Container (Android, IOS) 中为混合应用加载外部内容