根据Android Intent ACTION_SEND中的选择更改为电子邮件ID

时间:2011-08-06 17:28:17

标签: java android sqlite android-layout android-widget

我正在开发一个Android应用程序,根据所做的选择向不同的人发送电子邮件 所以我希望根据所做的选择更改电子邮件的TO字段。

所以我在选择完成后将电子邮件ID加载到名为emailaddress的字符串中

现在我保持如下

Intent i = new Intent(Intent.ACTION_SEND);
                i.setType("text/plain");
                i.setType("application/octet-stream");
                i.putExtra(Intent.EXTRA_EMAIL ,emailaddress);

但是TO地址留空了。我确认电子邮件地址是通过吐司加载到字符串中的,但它只是没有出现在TO:(

如何解决这个问题?

感谢你 此致, ChinniKrishna Kothapalli

2 个答案:

答案 0 :(得分:1)

EXTRA_EMAIL中存在错误,因为它只接受String []参数而不是String。 示例

public static void sendMail(Activity activity, String recipient, String subject, String body)
{
    Intent mail_intent = new Intent(Intent.ACTION_SEND);
    mail_intent.setType("message/rfc822");
    mail_intent.putExtra(Intent.EXTRA_EMAIL, new String[]{recipient});
    mail_intent.putExtra(Intent.EXTRA_SUBJECT, subject);
    mail_intent.putExtra(Intent.EXTRA_TEXT, body);
    activity.startActivity(Intent.createChooser(mail_intent, "Preferovaná aplikácia pre zaslanie e-mailu..."));
}

答案 1 :(得分:0)

我认为您最初的意图应该是ACTION_SENDTO,而不仅仅是ACTION_SEND。

ACTION_SEND只是传递给其他人。 ACTION_SENDTO交付给数据指定的人。