How to attach a Bitmap when launching ACTION_SEND intent

后端 未结 4 1044
無奈伤痛
無奈伤痛 2020-12-05 00:44

I have this code:

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

Which will successfully

相关标签:
4条回答
  • 2020-12-05 01:16
        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");
    

    Where bitmap is your bitmap object which must be store in SD Card. and then use that Uri for shareimage.

    0 讨论(0)
  • 2020-12-05 01:17

    You must first save the bitmap to a file. you can save it to the app's cache

    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();
        }
    
    }
    
    0 讨论(0)
  • 2020-12-05 01:22

    Try this it may help you:

    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); 
    
    0 讨论(0)
  • 2020-12-05 01:30
     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"));
    
    0 讨论(0)
提交回复
热议问题