0
我正在嘗試創建一個auto-backup
應用,其中從Camera
拍攝的所有照片都將上傳到Cloudinary。但是,我似乎無法讓我的代碼工作。我究竟做錯了什麼?在Android Studio中獲取相機鏡頭
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
路徑出來作爲Android Studio emulator
內/storage/0804-0A1C/DCIM
但listOfFiles爲空(儘管已經採取了一些照片與相機)。
可能是因爲你的文件系統不hvae這條道路。 –
首先,這不是攝像頭應用程序的外部存儲器上推薦的基礎目錄。這將是'DIRECTORY_DCIM'。其次,沒有要求任何相機應用程序將照片存儲在任何特定位置,更不用說您有權訪問的照片。 有成千上萬的Android設備型號。這些應用程序隨附數百種不同的預裝攝像頭應用程序,並且有許多其他相機應用程序可通過Play商店等分銷渠道獲得。他們都可以做他們想做的。 – CommonsWare
@CommonsWare謝謝,我已將它更正爲DCIM並將編輯帖子。但是,這仍然導致listOfFiles爲空。當然,必須有辦法找到設備上的默認相機應用程序的保存位置? –