如何获取捕获图像的URL?

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

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

你能告诉我如何获取捕获图片的URI吗?

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

 // 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); } } 

我是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中获取它。

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