开启startActivityForResult.
Intent intent = new Intent();
intent.setClass(MainActivity.this, MipcaActivityCapture.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivityForResult(intent, SCANNIN_GREQUEST_CODE);
在此类中添加onActivityResult接收返回信息。
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode) {
case SCANNIN_GREQUEST_CODE:
if(resultCode == RESULT_OK){
Bundle bundle = data.getExtras();
//显示扫描到的内容
mTextView.setText(bundle.getString("result"));
//接收返回图片,并且设置到ImageView里面
mImageView.setImageBitmap((Bitmap) data.getParcelableExtra("bitmap"));
}
break;
}
}
在MipcaActivityCapture类中调用返回事件,以及数据。
Intent resultIntent = new Intent();
Bundle bundle = new Bundle();
bundle.putString("result", resultString);
bundle.putParcelable("bitmap", bitmap);
resultIntent.putExtras(bundle);
this.setResult(RESULT_OK, resultIntent);
搞定。
在这里注意,如果intent传递图片的时候,需要用到putParcelable。
在接收的时候,直接用getParcelableExtra("bitmap")获取bitmap对象即可。