StartActivityForResult с удаленным изображением - PullRequest
0 голосов
/ 08 мая 2019

Я в основном этот код:

Glide.with(activity)
    .asBitmap()
    .load(url)
    .listener(new RequestListener<Bitmap>() {
        @Override
        public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<Bitmap> target, boolean isFirstResource) {
            return false;
        }

        @Override
        public boolean onResourceReady(Bitmap resource, Object model, Target<Bitmap> target, DataSource dataSource, boolean isFirstResource) {
            Intent intent = new Intent();
            intent.putExtra(BUNDLE_KEY_RESULT, resource);
            activity.setResult(RESULT_OK, intent);
            activity.finish();
            return true;
        }
    }
).submit());

У меня две проблемы:

  1. Деятельность не заканчивается.
  2. Я получаю в консоли следующую ошибку:

    СБОЙ СДЕЛКИ БИНДЕРА !!! (размер посылки = 1638672)

Как я могу решить? Большое спасибо заранее.

1 Ответ

0 голосов
/ 08 мая 2019

Эта ошибка из-за того, что вы пытаетесь отправить объект Bitmap, размер данных имеет значение при взаимодействии с действиями. Вы можете использовать URI или класс модели данных.

private Uri getImageUri(Context context, Bitmap inImage) {
    ByteArrayOutputStream bytes = new ByteArrayOutputStream();
    inImage.compress(Bitmap.CompressFormat.JPEG, 100, bytes);
    String path = MediaStore.Images.Media.insertImage(context.getContentResolver(), inImage, "Title", null);
    return Uri.parse(path);
}

Метод getImageUri вернет URI растрового изображения, теперь вы можете поделиться им через Intent

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...