Android 中用Intent如何传递Bitmap
时间: 2023-09-07 16:12:52 浏览: 130
要在 Android 中使用 Intent 传递 Bitmap,您可以将 Bitmap 转换为字节数组,然后将其添加到 Intent 的 extras 中。以下是一个示例代码:
```java
// 把Bitmap转换成字节数组
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.PNG, 100, stream);
byte[] byteArray = stream.toByteArray();
// 创建Intent对象
Intent intent = new Intent(this, YourActivity.class);
// 添加Bitmap字节数组到Intent的extras中
intent.putExtra("bitmap", byteArray);
// 启动目标Activity
startActivity(intent);
```
然后在接收 Intent 的目标 Activity 中,您可以从 extras 中获取字节数组,并将其转换回 Bitmap。以下是一个示例代码:
```java
// 获取传递过来的Bitmap字节数组
byte[] byteArray = getIntent().getByteArrayExtra("bitmap");
// 把字节数组转换成Bitmap
Bitmap bitmap = BitmapFactory.decodeByteArray(byteArray, 0, byteArray.length);
```
请注意,如果 Bitmap 大小很大,将其转换为字节数组可能会占用大量内存。在这种情况下,您可以将 Bitmap 保存到本地文件中,并传递文件路径,而不是字节数组。
阅读全文