猿问

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

我想使用 将图像文件传递给另一个广播接收器intent,因为 Android 文档建议传递数据值而不是文件。

我怎样才能做到这一点。


慕莱坞森
浏览 88回答 1
1回答

精慕HU

为了将图像文件传递给 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);}
随时随地看视频慕课网APP

相关分类

Java
我要回答