studio otra llamar link intent desde chooser aplicacion action_send abrir android bitmap mms

android - otra - Cómo adjuntar un mapa de bits al iniciar la intención de ACTION_SEND



intent filter android manifest (4)

Intenta esto te puede ayudar:

ByteArrayOutputStream bos = new ByteArrayOutputStream(); yourbitmapimagename.compress(CompressFormat.PNG, 0, bos); Intent intent = new Intent(); intent.setAction(Intent.ACTION_SEND); intent.setType("*/*"); intent.putExtra(Intent.EXTRA_STREAM, bos.toByteArray()); startActivity(intent);

Tengo este codigo

Intent intent = new Intent(); intent.setAction(Intent.ACTION_SEND); startActivity(intent);

Que lanzará con éxito una aplicación de mensajería en Android.

Pero, ¿cómo puedo adjuntar un objeto Bitmap al lanzar la intención?

He leído http://developer.android.com/reference/Android/content/Intent.html , lo que necesito es EXTRA_STREAM, así:

intent2.putExtra (Intent.EXTRA_STREAM, _uri);

Pero en mi caso, tengo una referencia de objeto de mapa de bits, no un URI de un mapa de bits.

Por favor, dime qué hacer para adjuntar un objeto de mapa de bits?


Primero debe guardar el mapa de bits en un archivo. Puedes guardarlo en el caché de la aplicación.

private void shareBitmap (Bitmap bitmap,String fileName) { try { File file = new File(getContext().getCacheDir(), fileName + ".png"); FileOutputStream fOut = new FileOutputStream(file); bitmap.compress(CompressFormat.PNG, 100, fOut); fOut.flush(); fOut.close(); file.setReadable(true, false); final Intent intent = new Intent( android.content.Intent.ACTION_SEND); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(file)); intent.setType("image/png"); startActivity(intent); } catch (Exception e) { e.printStackTrace(); } }


String pathofBmp = Images.Media.insertImage(getContentResolver(), bitmap,"title", null); Uri bmpUri = Uri.parse(pathofBmp); final Intent emailIntent1 = new Intent( android.content.Intent.ACTION_SEND); emailIntent1.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); emailIntent1.putExtra(Intent.EXTRA_STREAM, bmpUri); emailIntent1.setType("image/png");

Donde mapa de bits es su objeto de mapa de bits que debe almacenarse en la tarjeta SD. y luego usar ese Uri para shareimage.


String cc=trlink.toString(); Intent share = new Intent(Intent.ACTION_SEND); share.setType("text/plain"); share.putExtra(Intent.EXTRA_TEXT,cc); startActivity(Intent.createChooser(share,"Share Text"));