无法通过意图传递位图

时间:2018-01-31 16:12:22

标签: android android-intent android-bitmap

enter image description here我无法将图像作为位图传递到另一个活动

主要活动

Intent intent=new Intent(LastActivityGrid.this,ActivityMetadata.class);
byte[] image = Utils.getImageBytes(gridlist.get(position).getBitmap());
intent.putExtra("image",image);
startActivity(intent);

第二项活动

byte[] byteArray = getIntent().getByteArrayExtra("image");
Bitmap bmp = BitmapFactory.decodeByteArray(byteArray,0,byteArray.length);

1 个答案:

答案 0 :(得分:0)

Bitmap实现了Parcelable,因此你总是可以使用intent传递它:

Intent intent=new Intent(LastActivityGrid.this,ActivityMetadata.class);
Bitmap image = gridlist.get(position).getBitmap();
intent.putExtra("image",image);
startActivity(intent);

并在另一端检索它:

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

如果Image不是太多,那么它会起作用。

但正确的解决方案是传递图像的实际位置,并从第二个活动中获取图像。但据我了解,您更喜欢快速解决方案。

我希望它会有所帮助!