如何将捕获/图库图像传递给android中的下一个活动

我想传递捕获的摄像机图像并从图库中选择图像,图像应显示在下一个活动中,捕获的图像我的代码工作正常。但是从图库中选择图像图像未显示在活动中..

第一项活动

protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (resultCode == RESULT_OK) { if (requestCode == REQUEST_CAMERA) { Uri selectedImage = data.getData(); String[] filePathColumn = {MediaStore.Images.Media.DATA}; Cursor cursor = getContentResolver().query(selectedImage, filePathColumn, null, null, null); cursor.moveToFirst(); int columnIndex = cursor.getColumnIndex(filePathColumn[0]); //file path of captured image imagepath = cursor.getString(columnIndex); //file path of captured image File f = new File(imagepath); String filename = f.getName(); /*Toast.makeText(Contact.this, "Your Path:"+imagepath, 2000).show(); Toast.makeText(Contact.this, "Your Filename:"+filename, 2000).show();*/ cursor.close(); //Log.i("image path", imagepath); Bitmap imageData = BitmapFactory.decodeFile(imagepath); // Bitmap imageData = null; imageData = (Bitmap) data.getExtras().get("data"); Intent i = new Intent(this, Cam.class); i.putExtra("name", imageData ); startActivity(i); //imageview.setImageBitmap(bit); } else if (requestCode == SELECT_FILE) { //Bitmap photo = (Bitmap) data.getData().getPath(); Uri selectedImageUri = data.getData(); imagepath = getPath(selectedImageUri, null); // your bitmap //ByteArrayOutputStream bs = new ByteArrayOutputStream(); Bitmap imageData = BitmapFactory.decodeFile(imagepath); imageData = (Bitmap) data.getExtras().get("data"); Intent intent = new Intent(this, Cam.class); intent.putExtra("name", imageData ); startActivity(intent); 

第二项活动

 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.cam); Bitmap bitmap = getIntent().getExtras().getParcelable("name"); ImageView view = (ImageView) findViewById(R.id.imageView1); view.setImageBitmap(bitmap); } 

用这个。

 Intent intent = new Intent(this, NewActivity.class); intent.putExtra("path", imagepath); 

在你的下一个Activity中检索为

 String image_path = getIntent().getStringExtra("path"); Bitmap bitmap = BitmapFactory.decodeFile(image_path); imageview.setImageBitmap(bitmap); 
 Intent intent = new Intent(this, NewActivity.class); intent.putExtra("BitmapImage", bitmap); 

并在另一端检索它:

 Intent intent = getIntent(); Bitmap bitmap = (Bitmap) intent.getParcelableExtra("BitmapImage"); 

要启动另一个活动并接收结果,请调用startActivityForResult() (而不是startActivity() )。

在startActivityForResult中传递图像URI和下一个上下文。

我认为在你的场景中这应该足够了。

您可以使用bundle传递给另一个活动。

如果您的设备中的图像,您可以传递图像的路径。 比从路径显示。