我有一個非常簡單的APP,它目前拍攝一張照片然後保存圖像。目前的問題是,出於某種原因,我無法找到圖像保存在手機上的位置。Android相機 - 將圖像保存到SD卡中的新文件夾中
完成的結果與我想要做的是當一張圖片被拍攝的圖像然後被保存到一個新的文件夾,已在SD卡上創建,但如果該文件夾不存在,它將不得不在圖像可以保存之前進行(自動)。
我曾嘗試使用了答案in this question但似乎無法incoporate它沒有得到錯誤imageIntent cannot be resolved
編輯:圖片現在保存到SD卡和創建文件夾,但是覆蓋透水形象,我需要它來保存多個圖像,如果任何人有任何建議碼已更新
這是我的代碼片段:
PictureCallback myPictureCallback_JPG = new PictureCallback(){
public void onPictureTaken(byte[] arg0, Camera arg1) {
// TODO Auto-generated method stub
/*Bitmap bitmapPicture
= BitmapFactory.decodeByteArray(arg0, 0, arg0.length); */
int imageNum = 0;
Intent imageIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
File imagesFolder = new File(Environment.getExternalStorageDirectory(), "Punch");
imagesFolder.mkdirs(); // <----
String fileName = "image_" + String.valueOf(imageNum) + ".jpg";
File output = new File(imagesFolder, fileName);
while (output.exists()){
imageNum++;
fileName = "image_" + String.valueOf(imageNum) + ".jpg";
output = new File(imagesFolder, fileName);
}
Uri uriSavedImage = Uri.fromFile(image);
imageIntent.putExtra(MediaStore.EXTRA_OUTPUT, uriSavedImage);
OutputStream imageFileOS;
try {
imageFileOS = getContentResolver().openOutputStream(uriSavedImage);
imageFileOS.write(arg0);
imageFileOS.flush();
imageFileOS.close();
Toast.makeText(AndroidCamera.this,
"Image saved: ",
Toast.LENGTH_LONG).show();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
camera.startPreview();
}};
編輯
代碼已更新爲現在將多個圖像保存到SD卡上創建的新文件夾中。
什麼是「形象」在'烏里uriSavedImage = Uri.fromFile(圖像);' – VikramV 2014-03-18 14:30:57