问题:file.mkdirs()总是失败
当时的用的路径是:
String dir = Environment.getExternalStorageDirectory().getAbsolutePath() + "/test_abc";
//打印出来路径是/storage/emulated/0/test_abc
结果创建目录失败
File file = new File(dir);
file.mkdirs();
解决:
改用了getExternalFilesDir来获取路径,就可以成功(但路径不一样)
File fileEx = this.getExternalFilesDir(null);
String dir = fileEx.getAbsolutePath() + "/test_abc";
//路径是:/storage/emulated/0/Android/data/com.mytest.abc/files/test_abc
如果非要用Environment.getExternalStorageDirectory(),
那就这么解决:
在AndroidManifest.xml文件中application元素中加上android:requestLegacyExternalStorage="true"属性就可以了,如下:
<application
android:requestLegacyExternalStorage="true"