【发布时间】:2018-03-11 09:51:48
【问题描述】:
我一直在开发一个在牛轧糖上的应用程序,它在外部存储中创建一个目录。
我以前是这样的:
final File dir = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/Chords/Processed Audio");
dir.mkdirs();
此代码似乎不适用于 API 26 (Android Oreo)。目录未创建。
我怎样才能实现同样的目标,最好是在从 API 21 到 API 26 的所有 android 版本上工作?
【问题讨论】:
-
请详细解释,“似乎不起作用”是什么意思。请注意,您不应使用字符串连接来创建文件路径。使用
final File dir = new File(new File(Environment.getExternalStorageDirectory(), "Chords"), "Processed Audio");。 -
我会按照您的建议尝试。我所说的“不起作用”的意思只是没有创建目录,而在 Nougat 上它确实
-
一些 logcat 会很有用。权限呢?您是否已授予为您的应用程序写入外部存储的权限?
-
ok 只需按照@CommonsWare 的建议购买更改
File声明即可。谢谢。请写下答案,我会接受的。我认为它对其他人也有用。
标签: android android-external-storage android-8.0-oreo