在 onActivityResult 方法中获取捕获的图像
Posted
技术标签:
【中文标题】在 onActivityResult 方法中获取捕获的图像【英文标题】:Getting captured image in onActivityResult method 【发布时间】:2012-12-02 01:48:03 【问题描述】:我对下面的代码有点怀疑
@Override
public void onClick(View arg0)
// TODO Auto-generated method stub
Intent i=new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(i, 0);
);
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
if(requestCode==0 && resultCode==RESULT_OK )
Bundle extras = data.getExtras();
//get the cropped bitmap
Bitmap thePic = extras.getParcelable("data");
ImageView image =(ImageView) findViewById(R.id.imageView1);
image.setImageBitmap(thePic);
在 extras.getParcelable("data");此处的代码行“数据”作为 key 传递给 parcelable 对象。
我的问题是,是否已经在类中定义了名称为“数据”的键?或如何接受的任何原因。
【问题讨论】:
【参考方案1】:相机应用负责将缩略图添加到您在onActivityResult(...)
中收到的Intent
。它基本上将Bitmap
值添加到以"data"
作为键的意图。因此,可以尝试从返回的意图中按键获取该值。这也在 Android 开发者网站上的 Taking Photos Simply tutorial 中得到了展示:
Bundle extras = intent.getExtras();
mImageBitmap = (Bitmap) extras.get("data");
但是,根据经验,我可以说并非所有相机应用都支持这种行为。我不会依赖实际存在的数据键,或者返回的意图 nog 是 null
。
【讨论】:
以上是关于在 onActivityResult 方法中获取捕获的图像的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Pixel XL 的 OnActivityResult 中获取图像位图?
再见!onActivityResult!你好,Activity Results API!
片段 onActivityResult 方法执行调用活动 onActivityResult