Dan*_*ele 6 android android-external-storage android-8.0-oreo
我一直在nougat上开发一个应用程序,它在外部存储中创建一个目录.
我过去常常这样做:
final File dir = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/Chords/Processed Audio");
dir.mkdirs();
Run Code Online (Sandbox Code Playgroud)
此代码似乎不适用于API 26(Android Oreo).目录未创建.
我怎样才能实现相同的功能,最好适用于从API 21到API 26的所有Android版本?
在运行Android 8.0的Nexus 5X上运行现有代码没有问题.使用adb shell ls /storage/emulated/0,我看到Chores/,在里面,我看到了Processed Audio/.这适用于具有WRITE_EXTERNAL_STORAGE权限的应用程序,包括运行时权限.
理所当然地说,不要使用字符串连接来创建File对象.相反,使用:
final File dir = new File(new File(Environment.getExternalStorageDirectory(), "Chords"), "Processed Audio");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4729 次 |
| 最近记录: |