我正在开发一个包含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");
答案 0 :(得分:0)
好的,因为没有任何logcat显示崩溃,并且通过查看您的代码,我猜您的应用程序崩溃的原因可能是&#34; FAILED BINDER TRANSACTION&#34;。查看this了解详情
Intent具有传输1MB Bundle的能力。
尝试在每个活动的内部文件系统中保存图像,只是将意图中的文件路径传递给下一个活动,最后检索活动4中的所有图像。
这样可以避免应用程序崩溃,因为它可以帮助我。