我的代码:
String html = "<html><body><b<bold</b><u>underline</u></body></html>";
Intent intent = new Intent(Intent.ACTION_SEND, Uri.parse("mailto:"));
intent.setType("text/html");
intent.putExtra(Intent.EXTRA_SUBJECT, "Subject");
intent.putExtra(Intent.EXTRA_TEXT,
Html.fromHtml(html));
startActivity(Intent.createChooser(intent, "Send Email"));
结果是普通文本。有没有办法让这段文字加粗并加下划线?
最佳答案
根据 this documentation,您不能将 text/html
类型与 Intent.EXTRA_TEXT
一起使用.您是否尝试过 EXTRA_STREAM
?
另一方面,粗体标记中存在 HTML 语法错误:
String html = "<html><body><b<bold</b><u>underline</u></body></html>";
应该是:
String html = "<html><body><b>bold</b><u>underline</u></body></html>";
更新:
这可能是您的默认电子邮件应用程序中的错误,如果可以,请尝试使用 Gmail 应用程序,看看会发生什么。稍微更改代码以再次选择您的默认邮件客户端:
try {
startActivity(Intent.createChooser(intent, "Send mail"));
Log.i("MAIL", "Finished sending email");
} catch (android.content.ActivityNotFoundException ex) {
Toast.makeText(getApplicationContext(),
"There is no email client installed.", Toast.LENGTH_SHORT).show();
}
正如您在下图中看到的,它与 Android 框架的默认邮件应用程序一起工作。
例如,您是否尝试过将 Project Build Target 设置为 4.3?
关于android - 如何从我的应用程序发送带有下划线或粗体文本的邮件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21807679/