今天我必须处理一件棘手的事情。
我启动相机并希望直接将拍摄的图像保存到内部存储器中,而不是移动到其他位置。
似乎如果我直接将它们保存到内部存储中,相机会忽略我在拍照后点击“确定”按钮的操作。我认为“internal”URI存在问题,因为如果我在extra_output中使用
当我拍照并按下“确定”按钮继续使用内部URI时,相机什么也没做……我简直无法相信在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);
似乎如果我直接将它们保存到内部存储中,相机会忽略我在拍照后点击“确定”按钮的操作。我认为“internal”URI存在问题,因为如果我在extra_output中使用
Environment.getExternalStorageDirectory()
而不是getApplicationContext().getFilesDir()
,一切都正常,但是这样我就必须将文件移动到内部存储(移动过程可以正常工作到“getApplicationContext().getFilesDir()”)。当我拍照并按下“确定”按钮继续使用内部URI时,相机什么也没做……我简直无法相信在Android上存储是如此困难。
有什么想法吗?也许相机只允许将图片保存到外部存储器中?