在Android Studio中获取相机胶卷

时间:2015-11-26 14:45:41

标签: java android image android-studio photo-gallery

我正在尝试创建一个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为空(尽管已使用相机拍摄了多张照片)。

1 个答案:

答案 0 :(得分:0)

使用Android设备监视器,我发现Android Studio中Camera图像的存储位置是&#34; / storage / 0804-0A1C / DCIM / Camera&#34;。

但是,尽管进行了递归检查(因为权限?),我仍然无法读取此目录。为了避免偏离主题,我在下面发布了一个新问题:

Camera storage perms in Android Studio