首页 > 解决方案 > 无法在 android 11 的 /storage/emulated/0/Android/data/myproject.data/data 中创建目录

问题描述

我试图在运行时创建目录,但它抛出文件未找到异常

我要创建的目录:/storage/emulated/0/Android/data/myproject.data/data

Android 11 和 SDK android-30.0.3

static final String MAIN_DIR = "/storage/emulated/0/Android/data/myproject.data";
String logReportPath = MAIN_DIR+"/logcat";
File logDirectory = new File(logReportPath);
if(!logDirectory.exists())
{

  if(logDirectory.mkdirs()){
 
  }else{

   // always returning false and coming to this else condition .

  }

}else
{

}

你能请我为什么不能在运行时在存储中创建目录吗?

标签: androidandroid-11android-storage

解决方案


试试这个代码:

  String logReportPath = "logcat";
    File fileAddress = getApplicationContext().getExternalFilesDir(logReportPath); //storage/emulated/0/Android/data/YOUR_PROJECT/files/logcat
    if(!fileAddress.exists()) {
        fileAddress.mkdirs();
    }else {
        Log.i("INFO","directory or file not found");
    }

它会帮助你。


推荐阅读