gpt4 book ai didi

android - 从 ACTION_IMAGE_CAPTURE Intent 获取图像路径

转载 作者:IT老高 更新时间:2023-10-28 22:19:46 26 4
gpt4 key购买 nike

您好,我正在使用 ACTION_IMAGE_CAPTURE 来使用 Intent 捕获图像,如下所示:

Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
cameraIntent.putExtra(
MediaStore.EXTRA_OUTPUT, (new File(Environment.getExternalStorageDirectory(),
String.valueOf(System.currentTimeMillis()) + ".jpg"))
);
startActivityForResult(cameraIntent, 0);

我需要将图像存储在 sdcard 中并使用 onActivityResult 方法检索该图像的路径。我不知道如何获取当前捕获的图像的图像路径。

如果有人知道,请帮忙。

谢谢

最佳答案

这就是它在 2.2 上的工作方式(与以前的版本不同)。开始 Intent 时

        String fileName = "temp.jpg";  
ContentValues values = new ContentValues();
values.put(MediaStore.Images.Media.TITLE, fileName);
mCapturedImageURI = getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);

Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, mCapturedImageURI);
startActivityForResult(intent, CAPTURE_PICTURE_INTENT);

您需要记住 mCapturedImageURI

当您捕获图像时,在 onActivityResult() 中使用该 URI 获取文件路径:

            String[] projection = { MediaStore.Images.Media.DATA}; 
Cursor cursor = managedQuery(mCapturedImageURI, projection, null, null, null);
int column_index_data = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
cursor.moveToFirst();
String capturedImageFilePath = cursor.getString(column_index_data);

更新:在新的 Android 设备上,您不需要 MediaStore.EXTRA_OUTPUT,而是从 onActivityResult(..., Intent data) 收到的 data.getData() 中推断图像/视频 URI,正如在

下很好地描述的那样

Android ACTION_IMAGE_CAPTURE Intent

但是,由于这部分取决于制造商的调整,您仍然可能会遇到“旧”方法可能有用的手机。

关于android - 从 ACTION_IMAGE_CAPTURE Intent 获取图像路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4184951/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com