Problema de conversión de URI a Bitmap (2014):

En resumen, estoy tratando de seleccionar una imagen de una galería de teléfonos para mostrar como un mapa de bits para ser reproducido con (obtener RGB promedio) en otra actividad.

En primer lugar, me he encontrado con un par de temas que tratan con URI a la conversión de mapa de bits. Muchos de ellos tienen sugerencias como (from: Recuperar mapa de bits de 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); 

La línea Bitmap es la línea importante. Cada vez que ejecuto mi aplicación de Android en mi simulador, la aplicación se bloquea (depurador en Eclipse confirma que sucede en la URI -> línea de conversión de mapa de bits), y si pongo la conversión en diferentes actividades (se incluye), entonces sigue bloqueando En la línea de conversión Uri -> Bitmap.

No sé por qué es esto. He intentado hacer mi intención tanto "EXTERNAL_CONTENT_URI" como "INTERNAL_CONTENT_URI" en la intención inicial, y cualquiera de las opciones no importa. Voy a seguir buscando posibles soluciones a mi problema, pero ahora estoy corto de tiempo y siento que sería útil si tuviera algún consejo de fuentes externas.

Alguien sabe por qué siempre se bloquea en esa línea, o si hay alguna solución posible a mi problema? Gracias.

Por favor, obtenga entradas de la uri

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

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

Bitmap bitmap = BitmapFactory.decodeStream (image_stream);

Intención de inicio

Private static final int REGUEST_CODE = 100;

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

OBTENGA EL RESULTADO

 @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); 

OBTENGA EL RESULTADO

 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) 

¿Qué tamaño tiene el mapa de bits que está intentando transmitir? ¿Puede copiar / pegar el mensaje de error que está recibiendo?

Una razón posible para que tu aplicación se bloquee es que los datos que puedes pasar en la memoria principal de una actividad a otra tienen un tamaño máximo. Creo que el máximo de datos es de 1-2 MB, dependiendo del hardware y la versión del sistema operativo, aunque no puedo encontrar una referencia.

  • Repita la imagen con ImageView en RelativeLayout
  • Crear imagen desde la vista / pantalla en Android
  • Coverflow android: cómo obtener imágenes de una url en el coverflow
  • Mejorando la velocidad de getpixel () y setpixel () en Android Bitmap
  • ¿Cómo puedo enviar una imagen de una aplicación Java a una aplicación de Android?
  • inDither = true Android
  • Guardar vista como mapa de bits, sólo obtener pantalla en negro
  • PackageManager.getApplicationIcon () devolver el icono predeterminado?
  • Redimensionamiento de mapa de bits en Android con interpolación bicúbica
  • Android: el caché de mapas de bits requiere mucha memoria
  • Cómo establecer un mapa de bits de recurso
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.