无法通过电子邮件意图发送电子邮件

时间:2013-03-06 20:28:55

标签: java android email android-intent

我之前在模拟器上使用我的GMail帐户时已经有了android的电子邮件意图。

几周后我回到了我的代码,并且更改了我以前的模拟器。现在每当我尝试发送电子邮件时,我都会得到臭名昭着的“没有应用程序可以执行此操作”的消息。

我已通过模拟器浏览器登录我的GMail帐户,但无法从Google Play商店下载GMail应用程序(我目前收到一条消息,告诉我之前没有访问过google play soptre)。

这是我的电子邮件意图:

public void onClick(View sendEmailClick) {

    emailAdd = setEmailAddress.getText().toString();
    emailSub = setEmailSubject.getText().toString();
    emailMess = setEmailMessage.getText().toString();

    Intent sendEmailIntent = new Intent(Intent.ACTION_SEND); 
    sendEmailIntent.setType("message/rfc822");
       sendEmailIntent.putExtra(Intent.EXTRA_EMAIL,new String[] {emailAdd});  
       sendEmailIntent.putExtra(Intent.EXTRA_SUBJECT, emailSub); 
       sendEmailIntent.putExtra(Intent.EXTRA_TEXT, emailMess); 
       startActivity(Intent.createChooser(sendEmailIntent, "Send mail..."));
       finish();

}

如上所述,这是一个非常令人沮丧的问题,我已经让这段代码工作了。我是否必须安装GMail应用程序?

3 个答案:

答案 0 :(得分:1)

尝试使用以下代码

Intent sendEmailIntent = new Intent(android.content.Intent.ACTION_SEND); 
sendEmailIntent.setType("text/html");
   sendEmailIntent.putExtra(android.content.Intent.EXTRA_EMAIL,new String[] {emailAdd});  
   sendEmailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, emailSub); 
   sendEmailIntent.putExtra(android.content.Intent.EXTRA_TEXT, emailMess); 
   startActivity(Intent.createChooser(sendEmailIntent, "Send mail..."));

答案 1 :(得分:0)

对于其他任何收到此错误的人:

  • 点击设置>账户&同步>新增帐户。
  • 输入您的Gmail用户名和密码。
  • 点击下一步。
  • 将您的服务器设置为m.google.com。
  • 点击下一步即可。

您的应用现在应该将Gmail检测为相关的电子邮件应用,以发送您的电子邮件意图。

答案 2 :(得分:0)

模拟器中应该安装了一个电子邮件应用程序。
例如:Gmail 试试这个代码:

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