我正在尝试创建一个auto-backup
应用,其中从Camera
获取的所有照片都将上传到Cloudinary。但是,我似乎无法让我的代码工作。我做错了什么?
class UploadPhotos implements Runnable {
@Override
public void run() {
File storageDir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM);
File[] listOfFiles = storageDir.listFiles();
if (listOfFiles != null) {
System.out.println("code does not get this far");
for (int i = 0; i < listOfFiles.length; i++) {
if (listOfFiles[i].isFile()) {
System.out.println("File " + listOfFiles[i].getName());
try {
cloudinary.uploader().upload(listOfFiles[i], ObjectUtils.emptyMap());
System.out.print(listOfFiles[i] + " should have uploaded");
} catch (IOException e) {
e.printStackTrace();
}
} else if (listOfFiles[i].isDirectory()) {
System.out.println("Directory " + listOfFiles[i].getName());
}
}
}
}
}
storageDir
路径在/storage/0804-0A1C/DCIM
内显示为Android Studio emulator
,但listOfFiles为空(尽管已使用相机拍摄了多张照片)。
答案 0 :(得分:0)
使用Android设备监视器,我发现Android Studio中Camera图像的存储位置是&#34; / storage / 0804-0A1C / DCIM / Camera&#34;。
但是,尽管进行了递归检查(因为权限?),我仍然无法读取此目录。为了避免偏离主题,我在下面发布了一个新问题: