Android 将捕获的图片移动到下一个活动

Android 将捕获的图片移动到下一个活动,android,android-intent,android-activity,android-imageview,android-image,Android,Android Intent,Android Activity,Android Imageview,Android Image,我试图将用户捕获的图片放在第二个活动中。每次我拍摄的照片都会带我进入下一个活动,但我现在面临的问题是如何将拍摄的图像放入下一个活动中,以便用户可以看到它 请任何人都可以指导我或指导我该怎么做 这是我的密码 public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (re

我试图将用户捕获的图片放在第二个活动中。每次我拍摄的照片都会带我进入下一个活动,但我现在面临的问题是如何将拍摄的图像放入下一个活动中,以便用户可以看到它

请任何人都可以指导我或指导我该怎么做

这是我的密码

public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    if (requestCode == CAM_REQUEST) {

       if (resultCode == RESULT_OK) {

           Bitmap thumbnail = (Bitmap) data.getExtras().get("data");

            Intent i = new Intent(this, PostActivity.class);
            i.putExtra("name", thumbnail);
            startActivity(i);
        }
    }
}

将图像路径添加到intent extras并在第二个活动中获取它。

在活动之间使用intent extras发送图像URI

 Intent i = new Intent(this, SecondActivity.class);
                        i.putExtra("uri",uri);
                        startActivity(i);

您可以使用以下代码通过Intent发送数据

        Intent intent=new Intent(CurrentActivity.this,SecondActivity.class);
        intent.putExtra("imagepath",path);
        startActivity(intent);
接收通过SecondActivity中的Intent发送的数据的代码

        Bundle b=getIntent().getExtras();
        String path=b.getString("imagepath");

当您在
onActivityResult
方法上收到
Bitmap
时。因此,您可以尝试使用以下代码将图像传递到
nextractivity

1) 将位图转换为字节数组

Bitmap mBitmap = (Bitmap) data.getExtras().get("data");
ByteArrayOutputStream stream = new ByteArrayOutputStream();
mBitmap.compress(Bitmap.CompressFormat.PNG, 100, stream);
byte[] byteArray = stream.toByteArray();

// Pass it to intent to send in NextActitivy
Intent intent = new Intent(this, NextActivity.class);
intent.putExtra("captured_image", byteArray);
startActivity(intent);
2) 在
onCreate()
方法的
NextActivity
上从bundle获取字节

Bundle mBundle = getIntent().getExtras();
byte[] mBytes = mBundle.getByteArray("captured_image");

Bitmap mBitmap = BitmapFactory.decodeByteArray(mBytes, 0, mBytes.length);
ImageView mImageView = (ImageView) findViewById(R.id.imageView1);

mImageView.setImageBitmap(mBitmap);

在这行中,intent.putExtra(“捕获的图像”,byteArray);——我可以用我想要的名字代替“captured_image”吗?@MazinAlmaskari你可以用任何名字,但当你从onActivityResult方法发送并在下一个Activity获取它时,名字必须相同。:)谢谢我仍然面临这个问题。。你能在帖子里查一下我的代码并指出我哪里做错了吗。。这段代码在我的主要活动中,我应该在第二个活动中写些什么关于您编写的第二步。。我应该在onCreate()方法上完成,对吗?:)对不起,要求太多了