gpt4 book ai didi

android - 如何获取刚从相机捕获的图像路径

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:05:56 26 4
gpt4 key购买 nike

下面是我的代码,但没有在 onActivityresult 中给我图像路径

Uri selectedImageUri = data.getData();
selectedImagePath = getPath(selectedImageUri);
Log.w("jay", "Camera Image Path :" + selectedImagePath);

Toast.makeText(MiscansOther_pannel.this, selectedImagePath,
Toast.LENGTH_LONG).show();

最佳答案

这对我有用...

代码:

Uri selectedImageUri = data.getData();
selectedImagePath = getRealPathFromURI(selectedImageUri);

方法:getRealPathFromURI()

//----------------------------------------
/**
* This method is used to get real path of file from from uri
*
* @param contentUri
* @return String
*/
//----------------------------------------
public String getRealPathFromURI(Uri contentUri)
{
try
{
String[] proj = {MediaStore.Images.Media.DATA};
Cursor cursor = managedQuery(contentUri, proj, null, null, null);
int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
cursor.moveToFirst();
return cursor.getString(column_index);
}
catch (Exception e)
{
return contentUri.getPath();
}
}

编辑:

正如我在捕获图像后在某些设备中注意到的那样,onActivityResult() 中的数据为 null

因此,换一种方式,将特定图像文件名作为参数传递给您的 Intent 以作为 putExtra 参数捕获图像。

然后也将此图片 Uri 插入 Media Store,现在使用此 Uri 以供您进一步使用,

你可以通过File.exist()检查图像是否被捕获,

代码看起来像,

ContentValues values = new ContentValues();
values.put(MediaStore.Images.Media.TITLE, "Image File name");
Uri mCapturedImageURI = getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);
Intent intentPicture = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intentPicture.putExtra(MediaStore.EXTRA_OUTPUT, mCapturedImageURI);
startActivityForResult(intentPicture,ACTION_TAKE_PICTURE);

现在,您可以使用相同的方法从 Uri 获取文件路径,

在这种情况下,它将在 onActivityResult() 中,

selectedImagePath = getRealPathFromURI(mCapturedImageURI); // don't use data.getData() as it return null in some device instead  use mCapturedImageUR uri variable statically in your code,

关于android - 如何获取刚从相机捕获的图像路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11591825/

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