如何获取相机捕获的原始图像的路径或uri。

时间:2018-01-09 11:35:43

标签: android image android-camera filepath

如何获取相机捕获的原始图像的路径或uri。 当我使用下面的代码时,它会返回原始图像的缩略图,如谷歌文档中所述。 我想要原始图像的路径或原理。

我使用了以下代码,但它返回了一个缩略图。

Bundle extras = data.getExtras();
            Bitmap imageBitmap = (Bitmap) extras.get("data");

            // CALL THIS METHOD TO GET THE URI FROM THE BITMAP
            Uri tempUri = getImageUri(getApplicationContext(), imageBitmap);

            // CALL THIS METHOD TO GET THE ACTUAL PATH
            File finalFile = new File(getRealPathFromURI(tempUri));

            Intent intent = new Intent(IdentifyActivity.this, detailedActivity.class);
            intent.putExtra("PATH", finalFile.getPath());
            startActivity(intent);

1 个答案:

答案 0 :(得分:1)

您没有显示您使用的Intent。我假设它是ACTION_IMAGE_CAPTURE

  

如何获取相机拍摄的原始图像的路径或uri

除非您提供Uri以通过EXTRA_OUTPUT使用,否则不会这样做。

  

当我使用以下代码时,它返回缩略图图像

如果您未提供EXTRA_OUTPUT,则ACTION_IMAGE_CAPTURE应该为您提供缩略图。

  

我已经尝试过这种方法你说...它给出了一个错误

那么也许您应该问一个单独的Stack Overflow问题,在那里您提供您使用的代码并详细解释问题所在。 This sample app演示了ACTION_IMAGE_CAPTUREEXTRA_OUTPUT的使用情况。

  

图库中有原始图片

有大约20亿台Android设备,分布在10,000个设备型号中。预先安装的相机应用程序有数十种(如果不是数百种)。用户可以从Play商店和其他地方安装数十个(如果不是数百个)其他相机应用程序。 您的请求可由任何人处理,因此请勿假设一个相机应用的行为与所有相机的行为相同。

当第三方应用发出ACTION_IMAGE_CAPTURE缩略图请求时,无需相机应用将完整尺寸的图像写入磁盘。事实上,如果他们在那个场景中写出一个完整尺寸的图像,我会认为这是一个错误。