如何在没有操作UI的情况下在Android中发送电子邮件?

时间:2017-03-06 08:42:04

标签: android email

我想使用Intent在屏幕上没有任何触摸的情况下发送电子邮件。我尝试了波纹管代码,但它需要选择许多步骤:如电子邮件客户端,发送按钮......我不想执行这些步骤。只需在屏幕上无任何触摸即可自动发送。在Android M中有可能吗?感谢

//Email
Intent i = new Intent(Intent.ACTION_SEND);
i.setType("message/rfc822");
i.putExtra(Intent.EXTRA_EMAIL  , new String[]{"abc@gmail.com"});
i.putExtra(Intent.EXTRA_SUBJECT, "Title");
i.putExtra(Intent.EXTRA_TEXT   , "Body");
try {
    startActivity(Intent.createChooser(i, "Send mail..."));
} catch (android.content.ActivityNotFoundException ex) {
    Toast.makeText(this, "There are no email clients installed.", Toast.LENGTH_SHORT).show();
}

1 个答案:

答案 0 :(得分:0)

IntentACTION_SEND一起使用可以打开所有可以处理发送电子邮件的应用,用户必须选择其中一个才能继续发送。

Intent intent = new Intent(Intent.ACTION_SENDTO);
intent.setData(Uri.parse("mailto:user_name@provider"));
intent.putExtra(Intent.EXTRA_SUBJECT, "Subject");
intent.putExtra(Intent.EXTRA_TEXT,"Body");
try {
  startActivity(Intent.createChooser(intent, "Send Email"));
} catch (android.content.ActivityNotFoundException ex) {
  Toast.makeText(this, "There are no email clients installed.", Toast.LENGTH_SHORT).show();
}

但如果想在不使用其他应用(电子邮件客户端)的情况下发送电子邮件,则应搜索如何直接发送电子邮件或查看this