为什么在内部存储而不是外部存储中创建新文件夹?

时间:2018-10-24 13:22:29

标签: java android kotlin android-external-storage android-storage

我尝试在外部存储SD卡中创建一个新文件夹。使用此代码:

val folderMain = "NewFolder"
val f = File(Environment.getExternalStorageDirectory(), folderMain)

if (!f.exists()) {
    f.mkdirs()
}

和此权限:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

但是执行此代码后,它将在内部存储器中创建一个新文件夹。这是内部存储的屏幕截图:

enter image description here

外部存储中没有新文件夹时。这是外部存储的屏幕截图:

enter image description here

我该怎么办?我想使用Kotlin或Java代码在外部存储中创建一个新文件夹。

1 个答案:

答案 0 :(得分:0)

来自https://developer.android.com/reference/android/os/Environment.html#getExternalStorageDirectory()

  

注意:请不要在这里与“外部”一词混淆。这个目录   最好将其视为媒体/共享存储。它是一个文件系统   可以容纳相对大量的数据,并且可以共享   所有应用程序(不强制执行权限)。传统上这是   SD卡,但也可以将其实现为内置存储   与受保护的内部存储区分开的设备,可以是   作为文件系统安装在计算机上。