java mkdirs()不会在安卓中创建新目录
我试图在我的存储器中创建一些文件夹,并将相机中的图像存储到其中,但mkdirs总是返回false,已经尝试使用mkdir和canWrite,但仍然相同
2020-02-12 09:32:44.043 22914-23146/example.com.absensiapp D/TET: Folder Not Exist
2020-02-12 09:32:44.047 22914-23146/example.com.absensiapp D/TET: Failed To Create Directory
下面是创建文件夹和保存相机图像的代码
String wholeFolderPath = fh.TRAINING_PATH + name;
File dir = new File(wholeFolderPath);
if(!dir.exists()) {
Log.d("TET", "Folder Not Exist");
//create new directory
if(dir.mkdirs())
fh.saveMatToImage(m, wholeFolderPath + "/");
else
Log.d("TET", "Failed To Create Directory");
}
else {
Log.d("TET", "Folder Exist");
//save the image to directory
fh.saveMatToImage(m, wholeFolderPath + "/");
}
已将权限放入我的清单和主要活动中
舱单:
<uses-permission 安卓:name="安卓.permission.INTERNET" />
<uses-permission 安卓:name="安卓.permission.CAMERA" />
<uses-permission 安卓:name="安卓.permission.READ_EXTERNAL_STORAGE" />
<uses-permission 安卓:name="安卓.permission.WRITE_EXTERNAL_STORAGE" />
主要活动:
private static boolean hasPermissions(Context context, String... permissions) {
if (context != null && permissions != null) {
for (String permission : permissions) {
if (ActivityCompat.checkSelfPermission(context, permission) != PackageManager.PERMISSION_GRANTED) {
return false;
}
}
}
return true;
}
private void checkPermission() {
int PERMISSION_ALL = 1;
String[] PERMISSIONS = {
Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.WRITE_EXTERNAL_STORAGE,
Manifest.permission.CAMERA
};
if (!hasPermissions(this, PERMISSIONS)) {
ActivityCompat.requestPermissions(this, PERMISSIONS, PERMISSION_ALL);
}
}
# 1 楼答案
解决问题。在生成中降级我的targetSdkVersion。从29岁到21岁