如何安装图像视图作为电子邮件附件?(How to attach image view as an e

2019-09-17 01:51发布

我生成的图像视图饼图,我希望通过电子邮件发送。

如何转换图像视图的形象,以电子邮件附件,作为其在资源不可用?

Answer 1:

呼叫getDrawingCache()在你的图像视图。 这将返回视图的缓存位图。 阅读文档这里 。

保存位图PNG,创建邮件,并附加及发送。

Bitmap bmp = imgView.getDrawingCache();
FileOutputStream fos = openFileOutput(FILENAME, Context.MODE_WORLD_READABLE);
bmp.compress(Bitmap.CompressFormat.PNG, 0, fos);
fos.close();

/* Create a Action_SEND intent and attach the FILENAME image to the mail. */
...
intent.putExtra(Intent.EXTRA_STREAM, FILENAME); // FILENAME is URI
...
startActivity(....);


Answer 2:

最简单和大多数Android友好的方式是使用ACTION_SEND意图。 该守则将是这个样子:

    path = "/path/to/image/"
    Intent sharingIntent = new Intent(Intent.ACTION_SEND);
    Uri screenshotUri = Uri.parse(path);

    sharingIntent.setType("image/png");
    sharingIntent.putExtra(Intent.EXTRA_STREAM, screenshotUri);
    startActivity(Intent.createChooser(sharingIntent, "Share image using"));


Answer 3:

这听起来好像很多额外的工作是怎么回事。 如果您有可用在运行时的ImageView的,我们把它叫做mImageView,那么你可以做这样的事情:

Drawable mDrawable = mImageView.getDrawable();
Bitmap mBitmap = ((BitmapDrawable)mDrawable).getBitmap();

现在你有,你可以附加到电子邮件作为附件的位图图像。 我还没有原型它使100%肯定这将做你寻找什么,但似乎很多比它保存到SD卡更优雅的,所以您可以流回来为位图,并将其连接到一封电邮。

让我知道,如果不工作,我会尽力为原型出来的东西

谢谢你,大卫



文章来源: How to attach image view as an email attachment?