选择通过 Gmail 发送电子邮件时,电子邮件正文为空

Kos*_*din 5 email gmail android

我正在使用此代码:

Intent emailIntent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts("mailto",email, null));
emailIntent.putExtra(Intent.EXTRA_SUBJECT, subject);
emailIntent.putExtra(Intent.EXTRA_TEXT, text);
activity.startActivity(Intent.createChooser(emailIntent, "Send feedback to xyz"));
Run Code Online (Sandbox Code Playgroud)

2 年。直到现在一切正常。用户可以选择消息客户端并发送带有预填充数据的反馈。它适用于所有邮件客户端。最近注意到,如果我选择 gmail 客户端 - 消息正文仍然是空的,但在其他邮件客户端上,正文填充了文本。

有任何想法吗?

Kos*_*din 9

感谢帮助

用很多建议的答案进行了测试。添加“text/plain”或“message/rfc822”使我的应用程序停止提供邮件客户端。

找到解决我问题的答案:https : //stackoverflow.com/a/59365539/973233

对我来说最有趣的部分是有两个意图:

Intent selectorIntent = new Intent(Intent.ACTION_SENDTO);
selectorIntent.setData(Uri.parse("mailto:"));
final Intent emailIntent = new Intent(Intent.ACTION_SEND);
emailIntent.putExtra(Intent.EXTRA_EMAIL, new String[]{email});
emailIntent.putExtra(Intent.EXTRA_SUBJECT, subject);
emailIntent.putExtra(Intent.EXTRA_TEXT, text);
emailIntent.setSelector( selectorIntent );
activity.startActivity(Intent.createChooser(emailIntent, "Send feedback to XYZ"));
Run Code Online (Sandbox Code Playgroud)

这解决了问题。