1

我正在尝试在我的 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())
       }
4

0 回答 0