我发起一项活动来从相机中捕捉图片:
Intent i = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE, null);
i.putExtra("return-data", true);
startActivityForResult(i, PICK_FROM_CAMERA);
请告诉我如何获取捕获图片的URI?
答案 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);
}
}