如何获取相机捕获的原始图像的路径或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);
答案 0 :(得分:1)
您没有显示您使用的Intent
。我假设它是ACTION_IMAGE_CAPTURE
。
如何获取相机拍摄的原始图像的路径或uri
除非您提供Uri
以通过EXTRA_OUTPUT
使用,否则不会这样做。
当我使用以下代码时,它返回缩略图图像
如果您未提供EXTRA_OUTPUT
,则ACTION_IMAGE_CAPTURE
应该为您提供缩略图。
我已经尝试过这种方法你说...它给出了一个错误
那么也许您应该问一个单独的Stack Overflow问题,在那里您提供您使用的代码并详细解释问题所在。 This sample app演示了ACTION_IMAGE_CAPTURE
与EXTRA_OUTPUT
的使用情况。
图库中有原始图片
有大约20亿台Android设备,分布在10,000个设备型号中。预先安装的相机应用程序有数十种(如果不是数百种)。用户可以从Play商店和其他地方安装数十个(如果不是数百个)其他相机应用程序。 您的请求可由任何人处理,因此请勿假设一个相机应用的行为与所有相机的行为相同。
当第三方应用发出ACTION_IMAGE_CAPTURE
缩略图请求时,无需相机应用将完整尺寸的图像写入磁盘。事实上,如果他们做在那个场景中写出一个完整尺寸的图像,我会认为这是一个错误。