Android: Compartir mapa de bits no guardado en SD
Tengo una aplicación que toma una captura de pantalla y las acciones de esto con la intención de la parte. En lugar de guardar varias imágenes cada vez que un usuario quiera simplemente compartir la imagen. A continuación se muestra el código que usé para las imágenes guardadas en el SD
Intent share = new Intent(Intent.ACTION_SEND); share.setType("image/png"); dir = "file://" + Environment.getExternalStorageDirectory().getAbsolutePath() + File.separator + "Folder/" + location; share.putExtra(Intent.EXTRA_STREAM, Uri.parse(dir)); startActivity(Intent.createChooser(share, "Share Image"));
Sin embargo, no puedo imaginar cómo simplemente guardar un mapa de bits como …
- ¿Hay una solución de reproducción de video más rápida que las funciones de AndroidBitmap_xxx?
- Guardando una imagen grande en PNG
- Detectando OutOfMemoryError en la decodificación Bitmap
- Convertir mapa de bits a dibujable no mostrar nada
- Cómo obtener bitmap (frames) de video usando MediaCodec
share.putExtra(Intent.EXTRA_STREAM, theBitmap);
¿Hay una manera de hacer esto sin guardar la imagen?
Gracias
- Cómo rellenar gridview con la imagen seleccionada de la galería o capturada desde la cámara
- Cómo cambiar el color de fondo negro de mapa de bits a transparente?
- Android - ¿Por qué usar onSaveInsanceState () para guardar un objeto de mapa de bits que no se llama?
- Problemas de calidad al cambiar el tamaño de una imagen en tiempo de ejecución
- inDither = true Android
- Repita la imagen con ImageView en RelativeLayout
- GoogleMaps GroundOverlay parpadea mis imágenes
- Android - Bitmap.CreateBitmap - excepción de puntero nulo
Lo que eneded hasta hacer era guardar una imagen "Temp" a la SD / teléfono y sólo sobrescribir el cada vez.
Intente usar esta:
Intent shareIntent = new Intent(); shareIntent.setAction(Intent.ACTION_SEND); Uri uri = Uri.parse("android.resource://com.your.app/drawable/" + yourimage); shareIntent.putExtra(Intent.EXTRA_STREAM, uri); shareIntent.putExtra(Intent.EXTRA_TEXT, shareImage); shareIntent.setType("image/*"); startActivity(Intent.createChooser(shareIntent, "Send your image"));
Este código funciona bien para mí para enviar drawables que utilizo en mi aplicación. No hay imágenes guardadas en la tarjeta sd. El único problema es que no funciona con algunas aplicaciones sociales: /
Sí, puede enviar la imagen sin tener que guardarla como un archivo. De sólo mirar el código que publicó no tengo idea de cómo su envío de la imagen, pero convertir el archivo con lo siguiente:
ByteArrayOutputStream bos = new ByteArrayOutputStream(); byte[] data; if(yourBitmap!=null){ yourBitmap.compress(CompressFormat.PNG, 75, bos); }else if (yourBitmap==null){ Log.w("Image going to server is null","Lost in memory"); } try{ data = bos.toByteArray();
No sé si su envío de la imagen a otro usuario a través de su aplicación o qué, pero eso es cómo lo uso cargar a un servidor. Cuando su hecho con la imagen que acaba de anular todo esto.
bos = null; data = null; yourBitmap = null;
- Android listview: adapter.add (item)? O adapter.notifyDataSetChanged ()
- Android Stackoverflow Error en Listview sólo en el dispositivo seleccionado