为了账号安全,请及时绑定邮箱和手机立即绑定

将图像文件发送到广播接收器

将图像文件发送到广播接收器

慕莱坞森 2022-07-06 09:51:23
我想使用 将图像文件传递给另一个广播接收器intent,因为 Android 文档建议传递数据值而不是文件。我怎样才能做到这一点。
查看完整描述

1 回答

?
精慕HU

TA贡献1845条经验 获得超8个赞

为了将图像文件传递给 Android 广播接收器,您必须将文件转换为字节数组并使用putExtra方法发送


intent.putExtra("myImage", convertBitmapToByteArray(bitmapImage));


byte[] convertBitmapToByteArray(Bitmap bitmap) {

    ByteArrayOutputStream baos = null;

    try {

        baos = new ByteArrayOutputStream();

        bitmap.compress(Bitmap.CompressFormat.PNG, 100, baos);

        return baos.toByteArray();

    } finally {

        if (baos != null) {

            try {

                baos.close();

            } catch (IOException e) {

                Log.e(BitmapUtils.class.getSimpleName(), "ByteArrayOutputStream was not closed");

            }

        }

    }

}

然后您可以在广播接收器中转换回图像


byte[] byteArray = intent.getByteArrayExtra("myImage");


Bitmap myImage = convertCompressedByteArrayToBitmap(byteArray);


Bitmap convertCompressedByteArrayToBitmap(byte[] src) {

    return BitmapFactory.decodeByteArray(src, 0, src.length);

}


查看完整回答
反对 回复 2022-07-06
  • 1 回答
  • 0 关注
  • 87 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信