我正在尝试创建一个自动备份应用,其中从相机拍摄的所有照片都将上传到Cloudinary。
使用Android设备监视器,我发现Android Studio中Camera图像的存储位置是“/ storage / 0804-0A1C / DCIM / Camera”,如下所示:
但是,由于权限(?),我无法从此目录中读取。我确保将WRITE_EXTERNAL_STORAGE添加到清单,但是canRead()返回false。我可以做些什么来获取我的代码?
class UploadPhotos implements Runnable {
@Override
public void run() {
File storageDir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM);
System.out.println("--------dir " + storageDir + " " + storageDir.canRead());
String[] files = storageDir.list();
if (files != null) {
System.out.println("code does not get this far, files == null");
for (String file : files) {
if (new File(storageDir + file).isDirectory()) {
String[] subFiles = new File(storageDir + file).list();
for (int i = 0; i < subFiles.length; i++) {
if (new File(subFiles[i]).isFile()) {
uploadFile(new File(subFiles[i]));
}
}
} else {
uploadFile(new File(file));
}
}
}
}
}