今天我必須處理一件困難的事情。Android將相機圖片保存到本地存儲
我啓動相機,並希望將拍攝的圖像直接保存到我的內部存儲器中,而無需將其移動到其中。
File targetDir = new File(getApplicationContext().getFilesDir()+File.separator+"PROJECTMAIN"+File.separator+"SUBFORDER");
targetDir.mkdirs(); //create the folder if they don't exist
File externalFile = new File(targetDir, "picturename.jpg");
Uri imageURI = Uri.fromFile(externalFile);
Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, imageURI);
startActivityForResult(takePictureIntent, actionCode);
看來,如果我嘗試直接將它們保存到內部存儲器,相機會忽略我的點擊「確定」按鈕上我拍照後。我認爲「內部」URI有問題,因爲如果我使用Environment.getExternalStorageDirectory()
而不是getApplicationContext().getFilesDir()
for extra_output,一切正常,但之後我必須將文件移動到內部存儲器中(移動過程可以正常工作以「getApplicationContext ().getFilesDir()「)
當我拍照並按OK按鈕繼續使用內部URI時,攝像機不會執行任何操作......我無法相信存儲的難度在Android中。
任何想法?也許相機只是允許保存圖片到外部存儲?
參考文章http://stackoverflow.com/questions/12193607/how-to-save-capture-image-in-sdcard – 2013-03-18 11:34:06