如何在 Android 中通过电子邮件发送图片,预览但未附加..?
Posted
技术标签:
【中文标题】如何在 Android 中通过电子邮件发送图片,预览但未附加..?【英文标题】:How to send a picture via email in Android, previewed but NOT attached..? 【发布时间】:2012-11-13 19:56:20 【问题描述】:我想在我的邮件 Intent 中发送图片预览。 我不想附加它,我只想显示它。
这是我的意图:
String textToSend = getString(R.string.mailHi)+"<br><br>"+getString(R.string.mailText)+getTextToSendViaMail();
Uri pngUri = null;
File currentShopImage = new File(Environment.getExternalStorageDirectory().toString()+"/OpenGuide/"+Integer.toString(keyId)+"_1_normal.pn_");
if(currentShopImage.exists())
File pngFile = new File(currentShopImage.toString());
pngUri = Uri.fromFile(pngFile);
Intent i = new Intent(Intent.ACTION_SEND);
i.setType("text/plain");
//i.putExtra(Intent.EXTRA_EMAIL, new String[] emailCim );
i.putExtra(Intent.EXTRA_SUBJECT, "OpenGuide");
i.putExtra(Intent.EXTRA_TEXT, html.fromHtml(textToSend));
if(pngUri!= null)
i.putExtra(Intent.EXTRA_STREAM, pngUri);
try
startActivity(Intent.createChooser(i, getString(R.string.SendMail)));
catch (android.content.ActivityNotFoundException ex)
Toast.makeText(ShopActivity.this, getString(R.string.MailClientNotFound), Toast.LENGTH_SHORT).show();
我怎样才能做到这一点?
【问题讨论】:
您要发送图片,但不附上?这是怎么回事? 【参考方案1】:据我了解您的问题,您希望将图像与其他文本一起放在邮件中。用电子邮件协议的话来说,它被称为内联附件。
您无法使用intents
执行此操作,因为设备上安装的电子邮件客户端都不支持创建 html 消息。
如果它确实是您应用的核心部分,您应该考虑使用第三方 api 来执行此操作。此类库之一是JavaMail。您可以通过此库发送 html 消息,但需要一些时间来设置。
这是一个link,它可能会给你一些提示,它是如何完成的。
【讨论】:
【参考方案2】:然后你需要发送一个 HTML 生成的电子邮件 afaik。
【讨论】:
以上是关于如何在 Android 中通过电子邮件发送图片,预览但未附加..?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 C# 中通过电子邮件发送本地链接(共享服务器链接)?
如何压缩 JSONObject 在 Android 中通过 Http 发送它?
如何使用 Python 从文件夹中通过电子邮件发送随机 pdf 文件?