如何在两个以上的活动之间传递图像

时间:2016-02-19 10:00:22

标签: android arraylist uri

我正在开发一个包含4个活动的应用程序。在活动2和3中,用户可以拍照。我通过意图将活动2中拍摄的图像传递给活动3,但是当用户在活动3中拍照时我的问题就开始了,因为我不知道如何将拍摄的2张图像传递给活动4,将图片保存到服务器。

传递活动2中拍摄的图像

intent.putExtra("image", bitmap);

从活动2接收活动3中的图像

Uri fileUri=getIntent().getData();
ArrayList<Uri> mBitmaps = new ArrayList<>(2);
mBitmaps.add(fileUri);
mBitmaps.add(fileUriDanos);

将图像数组传递给活动4:

intent.putParcelableArrayListExtra("imagenes",mBitmaps);

在活动4中接收数组(此处app崩溃,仅当其中一个数组项为null,而不是之前活动之一的照片时) intent.getParcelableArrayListExtra("imagenes");

Intent intent = getIntent();

ArrayList<Uri> images = intent.getParcelableArrayListExtra("imagenes");

1 个答案:

答案 0 :(得分:0)

好的,因为没有任何logcat显示崩溃,并且通过查看您的代码,我猜您的应用程序崩溃的原因可能是&#34; FAILED BINDER TRANSACTION&#34;。查看this了解详情

Intent具有传输1MB Bundle的能力。

尝试在每个活动的内部文件系统中保存图像,只是将意图中的文件路径传递给下一个活动,最后检索活动4中的所有图像。

这样可以避免应用程序崩溃,因为它可以帮助我。