电子邮件意图不起作用。

6

我在菜单的onOptionItemSelected中添加了这段代码。每当我尝试运行这个意图时,它都会抛出强制关闭错误。

case R.id.Mail:
    Intent emailIntent=new Intent(android.content.Intent.ACTION_SEND);
    emailIntent.setType("plain/text");
    emailIntent.putExtra(android.content.Intent.EXTRA_TEXT,message);
    startActivity(emailIntent);
    break;

你得到了什么异常? - Calvin
我不知道是什么异常,但当我从菜单中选择电子邮件选项时,我的应用程序会强制关闭。 - Razin
logcat 不打印任何东西? - Calvin
活动未找到异常 - Razin
https://dev59.com/GWUq5IYBdhLWcg3wTuyi - Calvin
4个回答

9

它可能会对你有所帮助..

Intent email = new Intent(Intent.ACTION_SEND);
email.putExtra(Intent.EXTRA_EMAIL, new String[]{"abc@gmail.com"});        
email.putExtra(Intent.EXTRA_SUBJECT, "Sunject Text Here..");
email.putExtra(Intent.EXTRA_TEXT, "");
email.setType("message/rfc822");
startActivity(Intent.createChooser(email, "Send Mail Using :"));

它会显示一些对话框,上面写着:“没有应用程序可以执行此操作”。 - Razin
是的,它可以打开电子邮件、Gmail等选项。您可以使用默认配置的电子邮件帐户通过此对话框发送邮件。一旦打开此对话框,只需选择复选框(在该对话框底部),将其设置为默认值。然后它将不会再次打开任何对话框。 :) - Ajay
是的,这对我可能有效,但您能告诉我如何在模拟器中设置电子邮件应用程序吗? - Razin
谢谢,它正在工作。你能解释一下这个“email.setType("message/rfc822");”是什么意思吗?并且可以为我的问题投票吗? - Razin
当然,"email.setType("message/rfc822")"会设置此电子邮件意图的SMTP/MIME类型。而Content-Type "message/rfc822"表示该正文包含一个封装的消息,其语法为RFC 822消息。 - Ajay

0
试试这个。
emailIntent.setType("plain/text");

0

尝试像这样使用它

        Intent intent = new Intent(); 
    intent.setAction(android.content.Intent.ACTION_SEND); 
    intent.setType("plain/text");
    intent.putExtra(android.content.Intent.EXTRA_EMAIL,  new String[]{address});
    return intent;

0

你的代码是正确的。也许你需要检查一下你的电子邮件是否在你的安卓手机的电子邮件应用程序中注册。你需要在你的手机电子邮件应用程序中创建一个ID。

case R.id.Mail:
    Intent emailIntent=new Intent(android.content.Intent.ACTION_SEND);
    emailIntent.setType("plain/text");
    emailIntent.putExtra(android.content.Intent.EXTRA_TEXT,message);
    startActivity(emailIntent);
    break;

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接