直接在内部存储中捕获图像

时间:2014-07-30 12:24:12

标签: android android-camera android-camera-intent internal-storage

是否可以通过在Intent中传递uri内部存储来通过Android中的相机捕获图像?如果是的如何?我尝试了以下方式,但它让JHEAD无法读取错误。

File mediaStorageDir = getFilesDir();
File newFile =  new File(mediaStorageDir,IMAGE_DIRECTORY_NAME);
Uri newUri = Uri.fromFile(newFile);

Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, newUri);

startActivityForResult(intent, CAMERA_CAPTURE_IMAGE_REQUEST_CODE);

1 个答案:

答案 0 :(得分:0)

这是因为小错误。您正在传递目录而不是文件名。

尝试这种方式希望这可以帮助你

File mediaStorageDir = getFilesDir();
        File newFile =  new File(mediaStorageDir,new Date().getTime() + ".png");
        Uri newUri = Uri.fromFile(newFile);

        Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
        intent.putExtra(MediaStore.EXTRA_OUTPUT, newUri);

        startActivityForResult(intent, CAMERA_CAPTURE_IMAGE_REQUEST_CODE);