Android外部存储(/storage/emulated/0)无法创建文件夹
·
解决方法
方法一: 增加外部权限
<!--外部存储的写权限-->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<!--外部存储的读权限-->
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
出处: Android外部存储(/storage/emulated/0)无法创建文件夹
我已经加了外部权限, 编译器中也没有任何报错, 但是还是显示 “文件创建失败”
方法二:
可以在manifest文件中的标签下加上这个属性:
android:requestLegacyExternalStorage="true"
这是因为Android10.0改变了文件的存储方式,加这个属性是启用旧的存储方式。 如果是正式项目的话建议使用存储访问框架(SAF)去做文件操作。
出处: Android10.0 外部存储(/storage/emulated/0)无法创建文件夹
但是这个方法我试了还是不行.
方法三:
目标设备的Android版本不对

方法四:
安卓10已经不允许应用直接在根目录上创建文件夹了,可以访问一些公用的例如相册等目录,但是不能创建文件夹,
String path = getContext().getExternalFilesDir(null).getAbsolutePath();
File dirFile = new File(path);
if (!dirFile.exists()) {
boolean mkdirs = dirFile.mkdirs();
if (!mkdirs) {
Log.i(TAG, "创建:" + mkdirs);
} else {
Log.i(TAG, "创建成功");
}
}
谷歌建议使用此方法来替代,但是此方法只能在/storage/emulated/0/Android/data/包名/files 此目录下创建,至于有没有其它途径在根目录上创建文件夹,还在寻找中
更多推荐


所有评论(0)