如何获取捕获图像的URL?

时间:2009-06-26 17:34:55

标签: java android

我发起一项活动来从相机中捕捉图片:

Intent i = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE, null);
i.putExtra("return-data", true);
startActivityForResult(i, PICK_FROM_CAMERA);

请告诉我如何获取捕获图片的URI?

2 个答案:

答案 0 :(得分:2)

我是Android的新手,但我相信你必须向Intent添加一些额外的信息。 ACTION_IMAGE_CAPTURE文档说:

  

调用者可以传递额外的EXTRA_OUTPUT来控制该图像的写入位置。如果EXTRA_OUTPUT不存在,则在额外字段中返回小尺寸图像作为Bitmap对象。这对于只需要小图像的应用程序非常有用。如果存在EXTRA_OUTPUT,则将将全尺寸图像写入EXTRA_OUTPUT的Uri值。

所以,我认为你应该可以添加这一行:

  

intent.putExtra(MediaStore.EXTRA_OUTPUT,Uri.fromFile(new File(“MyImageCapture”)));

然后你应该能够从onActivityResult的URI中获取它。

但我没有测试过这个。希望我没有把你误入歧途。

答案 1 :(得分:1)

要获取刚刚从相机拍摄的图像,请执行以下操作

// Call to take the picture
startActivityForResult(new Intent("android.media.action.IMAGE_CAPTURE"), PICK_FROM_CAMERA);

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data)
{
    if (requestCode == PICK_FROM_CAMERA)
    {
        Uri uri = data.getData();
            // set the imageview image via uri 
            _previewImage.setImageURI(uri);
    }
}