Отправка файла изображения на приемник вещания - PullRequest
0 голосов
/ 24 февраля 2019

Я хочу передать файл изображения другому широковещательному приемнику, используя intent, поскольку в документации Android предлагается передавать значения данных, а не файлы.

Как мне этого добиться.

1 Ответ

0 голосов
/ 24 февраля 2019

Чтобы передать файл изображения в приемник 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);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...