You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android 13使用Intent.ACTION_SEND发邮件正文为空问题及解决

Android 13邮件正文为空问题排查与解决

问题原因

Android 13对Intent.ACTION_SEND的处理机制进行了更新,部分邮件应用(如Gmail)在接收text/plain类型的ACTION_SEND Intent时,无法正确解析Intent.EXTRA_TEXT参数,进而导致邮件正文为空。

解决方案

方案一:替换为Intent.ACTION_SEND_MULTIPLE

将Intent的Action替换为Intent.ACTION_SEND_MULTIPLE,其余参数保持不变即可修复问题,修改后的代码如下:

final Intent emailIntent = new Intent(Intent.ACTION_SEND_MULTIPLE);
emailIntent.setType("text/plain");
emailIntent.putExtra(Intent.EXTRA_SUBJECT, subject);
emailIntent.putExtra(Intent.EXTRA_TEXT, body);
emailIntent.putExtra(Intent.EXTRA_EMAIL, new String[] {email});

try {
    context.startActivity(Intent.createChooser(emailIntent, "Email:"));
} catch (android.content.ActivityNotFoundException ex) {
    trackException(ex);
}

方案二:修改Intent类型为message/rfc822

另一种可行方法是将Intent的Type设置为message/rfc822,让邮件应用按照标准邮件格式解析参数,代码示例:

final Intent emailIntent = new Intent(Intent.ACTION_SEND);
emailIntent.setType("message/rfc822");
emailIntent.putExtra(Intent.EXTRA_SUBJECT, subject);
emailIntent.putExtra(Intent.EXTRA_TEXT, body);
emailIntent.putExtra(Intent.EXTRA_EMAIL, new String[] {email});

try {
    context.startActivity(Intent.createChooser(emailIntent, "Email:"));
} catch (android.content.ActivityNotFoundException ex) {
    trackException(ex);
}

内容的提问来源于stack exchange,提问作者toto_tata

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 01:02:39