我正在尝试在我的 Seconday 外部存储(SD 卡)中创建一个目录,但 mkdir() 返回 false。我已提供必要的权限,该应用程序的目标是 API 29。
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<application>
...
android:requestLegacyExternalStorage="true"
</application>
if (ContextCompat.checkSelfPermission(this,
Manifest.permission.WRITE_EXTERNAL_STORAGE)
!= PackageManager.PERMISSION_GRANTED) {
if (ActivityCompat.shouldShowRequestPermissionRationale(this,
Manifest.permission.WRITE_EXTERNAL_STORAGE)) {
} else {
ActivityCompat.requestPermissions(this,
arrayOf(Manifest.permission.WRITE_EXTERNAL_STORAGE,
Manifest.permission.READ_EXTERNAL_STORAGE),
MY_PERMISSIONS_REQUEST_STORAGE);
}
}
这些是我提供的权限。当我使用主内存时,正在创建目录。我想要的文件夹路径 /storage/3C03-69OD/Folder
3C03-69OD - 外部 SD 卡。
var externalFiles=ContextCompat.getExternalFilesDirs(this,null)
val myDirectory = File(externalFiles[1].parentFile!!.parentFile!!.parentFile!!.parentFile!!.absoluteFile, "/Folder")
Log.i("Path",myDirectory.absolutePath) //[Produces /storage/9C33-6BBD/Folder]
if (!myDirectory.exists()) {
Log.i("Create", myDirectory.mkdir().toString())
}