使用 android 意图将 html 文件作为电子邮件正文内容发送
Posted
技术标签:
【中文标题】使用 android 意图将 html 文件作为电子邮件正文内容发送【英文标题】:Send html file as email body content using android intent 【发布时间】:2018-04-29 14:20:52 【问题描述】:我有一个以 html 文档形式共享产品的电子商务应用。使用此代码,我可以将 product.html 作为附件发送。我想将 html 文档作为电子邮件正文而不是附件发送。
这是我的代码:
private void sendEmail(Context context, String emailTo, String emailCC,
String subject, String emailText, List<String> filePaths)
final Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND_MULTIPLE);
emailIntent.setType(TEXT_HTML);
emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, new String[]emailTo);
emailIntent.putExtra(android.content.Intent.EXTRA_CC, new String[]emailCC);
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, subject);
ArrayList<Uri> fileUris = new ArrayList<Uri>();
for (String file : filePaths)
File fileIn = new File(file);
Uri uri = Uri.fromFile(fileIn);
fileUris.add(uri);
emailIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, fileUris);
context.startActivity(Intent.createChooser(emailIntent, context.getString(R.string.send_by_email)));
【问题讨论】:
你能分享一下你的 html 文件是什么样子的吗? 【参考方案1】:任何需要进入身体的东西都可以通过这种方式设置到你的意图中,例如将您的构建版本名称作为电子邮件的正文。您可以将其替换为您的 html 内容。从未亲自尝试过,您可能需要一些转换。
emailIntent.putExtra(Intent.EXTRA_TEXT, BuildConfig.VERSION_NAME);
【讨论】:
它只显示文件的路径,有没有办法把整个html文件作为邮件正文? 我假设您正在这样做。 emailIntent.putExtra(Intent.EXTRA_TEXT, fileUris);如果你这样做,你会得到你所看到的。您需要以文本格式获取文件的内容并添加它。 嘿,这行得通,但我将整个 HTML 代码作为正文,我想要的是内容。我的意思是渲染的 HTML 文件。你能帮我进一步吗? 如果它有效,你能接受这个答案并问另一个吗?以上是关于使用 android 意图将 html 文件作为电子邮件正文内容发送的主要内容,如果未能解决你的问题,请参考以下文章
Android 自定义启动器 startActivity() 阻止 BOOT_COMPLETED 意图
正确的 Android 意图过滤器配置以将文件类型与 Activity 关联?