【发布时间】:2017-01-02 15:58:03
【问题描述】:
我正在尝试创建一个发送电子邮件的意图活动。 使用
public void emailSend(View view){
Intent emailIntent = new Intent(Intent.ACTION_SEND);
emailIntent.setData(Uri.parse("mailto:"));
emailIntent.setType("plain/text");
emailIntent.putExtra(Intent.EXTRA_SUBJECT, "Nächstes Treffen");
emailIntent.putExtra(Intent.EXTRA_EMAIL,adressListe);
if (emailIntent.resolveActivity(getPackageManager()) != null){
startActivity(emailIntent);
}
}
为我提供的不仅仅是电子邮件应用程序。 使用
public void emailSend(View view){
Intent emailIntent = new Intent(Intent.ACTION_SENDTO);
emailIntent.setData(Uri.parse("mailto:"));
emailIntent.setType("plain/text");
emailIntent.putExtra(Intent.EXTRA_SUBJECT, "Nächstes Treffen");
emailIntent.putExtra(Intent.EXTRA_EMAIL,adressListe);
if (emailIntent.resolveActivity(getPackageManager()) != null){
startActivity(emailIntent);
}
}
单击按钮时没有任何反应。 对于
emailIntent.setType("plain/text");
也试过了
emailIntent.setType("messageage/rfc822");
和
emailIntent.setType("*/*");
都有不同的结果,但没有一个只是显示电子邮件应用程序。
你知道如何解决这个问题吗?非常感谢您的帮助!
谢谢!
【问题讨论】:
-
你试过不使用
setType吗? -
plain/text不是有效的 MIME 类型。使用第二种方法作为起点,但去掉EXTRA_EMAIL并将该地址放在Uri中(就像mailto:...中的...)。请记住,用户可能无法访问支持此功能的电子邮件程序,因此如果resolveActivity()返回null,您需要有一个else块。 -
@PrerakSola 是的,我做到了。
-
@CommonsWare 我将如何添加它?
Intent emailIntent = new Intent(Intent.ACTION_SENDTO); emailIntent.setData(Uri.parse("mailto:"+adressListe)); emailIntent.setType("message/rfc822");什么都不做。
标签: java android email android-intent