2

是否可以通过在 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);
4

1 回答 1

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);
于 2014-07-30T12:35:06.080 回答