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

时间:2015-04-18 04:43:37

标签: android android-intent android-activity android-imageview android-image

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

请任何人指导我或指导我如何做?

这是我的代码

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);
        }
    }
}

4 个答案:

答案 0 :(得分:0)

为意图附加内容添加图像路径,并在第二个活动中获取它。

答案 1 :(得分:0)

在活动之间使用Intent Extras发送图像URI。

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

答案 2 :(得分:0)

您可以使用以下代码通过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");

答案 3 :(得分:0)

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

1)将Bitmap转换为字节数组

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)通过NextActivity方法

获取onCreate()上的字符串中的字节
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);