我在下面的代码中有一点疑问
@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”)中;这里的代码行“data”作为密钥传递给parcelable对象。
我的问题是,是否已经在课程中定义了名为'data'的密钥?或任何理由如何接受。
答案 0 :(得分:0)
相机应用有责任向Intent
中收到的onActivityResult(...)
添加缩略图。它基本上以Bitmap
作为关键字为意图添加"data"
值。因此,可以尝试通过返回的intent中的键获取该值。 Android开发者网站上的Taking Photos Simply tutorial也证明了这一点:
Bundle extras = intent.getExtras();
mImageBitmap = (Bitmap) extras.get("data");
然而,根据经验,我可以告诉并非所有相机应用程序都尊重此行为。我不会依赖数据键实际存在,或者返回的intent nog为null
。