0

我正在尝试制作一个应用程序,它需要某种信息,然后我希望它通过电子邮件将该信息发送到我的 gmail。我找到了工作代码,但是当我将它加载到我的手机上并运行它并将所有信息加载到应用程序中,然后单击电子邮件,据我了解它假设过滤能够发送的应用程序(在我的手机上)电子邮件,但我什么也没收到,即使我有手机上的默认电子邮件应用程序并且我有 Gmail。

public void Done(View view) {
   Intent email = new Intent(Intent.ACTION_SENDTO); // it's not ACTION_SEND
    email.putExtra(Intent.EXTRA_EMAIL, "some@gmail.com");
    email.putExtra(Intent.EXTRA_SUBJECT, "OverStock Changes");
    email.putExtra(Intent.EXTRA_TEXT, printReport());
    email.setType("message/rfc822");
    startActivity(Intent.createChooser(email, "Email"));

}
4

1 回答 1

0

请参阅ACTION_SENDTO 的答案以发送电子邮件

如果您使用 ACTION_SENDTO,putExtra() 无法向意图添加主题和文本。使用 setData() 和 Uri 工具添加主题和文本。

这个例子对我有用:

// ACTION_SENDTO filters for email apps (discard bluetooth and others)
String uriText =
    "mailto:youremail@gmail.com" + 
    "?subject=" + URLEncoder.encode("some subject text here") + 
    "&body=" + URLEncoder.encode("some text here");

Uri uri = Uri.parse(uriText);

Intent sendIntent = new Intent(Intent.ACTION_SENDTO);
sendIntent.setData(uri);
startActivity(Intent.createChooser(sendIntent, "Send email")); 

否则ACTION_SEND如上所述使用:

intent.setAction(Intent.ACTION_SEND);
intent.setType("text/plain");
intent.putExtra(Intent.EXTRA_EMAIL, new String[]{"mail@mail.com","mail2@mail.com"});
intent.putExtra(Intent.EXTRA_SUBJECT,"subject");
intent.putExtra(Intent.EXTRA_TEXT, "mail content");
startActivity(Intent.createChooser(intent, "title of dialog")); 
于 2013-06-18T18:45:04.613 回答