Ошибка преобразования URI в Bitmap (2014):

Короче говоря, я пытаюсь выбрать изображение из телефонной галереи для отображения в виде растрового изображения, которое нужно воспроизвести (получить среднее значение RGB) в другом действии.

Во-первых, я столкнулся с несколькими темами, касающимися URI для преобразования Bitmap. Многие из них имеют такие предложения, как (из: Извлечение растрового изображения из uri ):

Uri imageUri = intent.getData(); Bitmap bitmap = MediaStore.Images.Media.getBitmap(this.getContentResolver(),imageUri); Imageview my_img_view = (Imageview ) findViewById (R.id.my_img_view); my_img_view.setImageBitmap(bitmap); 

Линия битмапа – важная строка. Всякий раз, когда я запускаю свое приложение для Android на моем симуляторе, происходит сбой приложения (отладчик в Eclipse подтверждает, что происходит в строке преобразования URI -> Bitmap), и если я поместил преобразование в разные действия (он в комплекте), то он все равно выйдет из строя На линии преобразования Uri -> Bitmap.

Я не знаю, почему это так. Я попытался сделать мои намерения как «EXTERNAL_CONTENT_URI», так и «INTERNAL_CONTENT_URI» в первоначальном намерении, и любой выбор не имеет значения. Я буду продолжать искать потенциальные решения моей проблемы, но сейчас у меня мало времени, и я чувствую, что было бы полезно, если бы у меня были какие-то советы из внешних источников.

Кто-нибудь знает, почему он всегда терпит крах на этой линии, или если есть какие-либо возможные решения моей проблемы? Благодарю.

Пожалуйста, введите вход с uri

Uri imageUri = intent.getData (); Uri IMAGE_URI = imageReturnedIntent.getData ();

InputStream image_stream = getContentResolver (). OpenInputStream (IMAGE_URI);

Bitmap bitmap = BitmapFactory.decodeStream (image_stream);

Начать намерение

Private static final int REGUEST_CODE = 100;

 Intent photoPicker = new Intent(Intent.ACTION_PICK); photoPickerIntent.setType("image/*"); startActivityForResult(photoPickerIntent, REGUEST_CODE); 

ПОЛУЧИТЬ РЕЗУЛЬТАТ

 @Override protected void onActivityResult(int requestCode, int resultCode, Intent imageReturnedIntent) { super.onActivityResult(requestCode, resultCode, imageReturnedIntent); switch(requestCode) { case REGUEST_CODE : if(resultCode == RESULT_OK){ Uri IMAGE_URI = imageReturnedIntent.getData(); InputStream image_stream = getContentResolver().openInputStream(IMAGE_URI); Bitmap bitmap= BitmapFactory.decodeStream(image_stream ); my_img_view.setImageBitmap(bitmap) } } 

}

 Uri imageUri = intent.getData(); Uri IMAGE_URI = imageReturnedIntent.getData(); InputStream image_stream = getContentResolver().openInputStream(IMAGE_URI); Bitmap bitmap= BitmapFactory.decodeStream(image_stream ); Intent photoPicker = new Intent(Intent.ACTION_PICK); photoPickerIntent.setType("image/*"); startActivityForResult(photoPickerIntent, REGUEST_CODE); 

ПОЛУЧИТЬ РЕЗУЛЬТАТ

 Uri IMAGE_URI = imageReturnedIntent.getData(); InputStream image_stream = getContentResolver().openInputStream(IMAGE_URI); Bitmap bitmap= BitmapFactory.decodeStream(getContentResolver().openInputStream(IMAGE_URI)); my_img_view.setImageBitmap(bitmap) 

Насколько велик битмап, который вы пытаетесь пройти? Можете ли вы скопировать / вставить сообщение об ошибке, которое вы получаете?

Одной из возможных причин сбоя вашего приложения является то, что данные, которые вы можете передать в основной памяти из одной активности в другую, ограничены по размеру. Я считаю, что максимальные данные составляют около 1-2 МБ, в зависимости от аппаратного обеспечения и версии ОС, хотя я не могу найти ссылку.

Intereting Posts
Несовместимые типы: не может лизать зрителя в держатель изображения Вход в систему с G + – почему область «plus.login» не будет работать одна? Ошибка: невозможно получить отладочный мост в студии Android Модель дизайна входа в Android-приложение Использование шаблона Spring Rest вызывает EOFException Как создать белую границу вокруг растрового изображения? Android Lollipop 5.1: Fatal signal 11 (SIGSEGV), код 2, ошибка addr 0x9e985ff8 in tid 4093 (RenderThread) / при использовании большого количества девяти патчей Мои карты не всегда будут отклонены, когда они будут удалены влево или вправо? Заменить символ внутри TextWatcher в android Графики для Android Как я могу получить приложение камеры для съемки со звуком моего голоса? Воспроизведение видео в формате HTML5 на полноэкранном режиме в веб-обозревателе Android GetRight, getLeft, getTop, возвращающий нуль Реализация DLNA / UPnP (Win7 Play To) на мобильном устройстве Как слушать dev / binder?