android - 无法在 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
{
}
你能请我为什么不能在运行时在存储中创建目录吗?
解决方案
试试这个代码:
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");
}
它会帮助你。
推荐阅读
- azure - 使用 Microsoft Azure 人脸 API 人员组
- search - SolR 8.9 中的列权重
- flutter - 无法在 vscode 中创建颤振项目
- postgresql - 公用表表达式 - 如何在 PostGIS 函数中使用结果
- java - 无法从 HiveMetaStoreClient 检索现有数据库或表名
- node.js - UnhandledPromiseRejectionWarning:MongoError:无法在元素中创建字段“学期”
- azure-application-insights - 在 Application Insights 中看不到 Serilog 异常消息
- swift - 没有安全区域无法查看 maxX
- azure-devops - 使用 Azure az repos CLI 派生存储库
- sql-server - 如何将 varchar 列转换为十进制?