【问题标题】:Unable to send email through email intent无法通过电子邮件意图发送电子邮件
【发布时间】:2013-02-21 20:00:52
【问题描述】:

我之前曾在模拟器上使用我的 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 应用程序吗?

【问题讨论】:

  • 应该至少有一个电子邮件应用程序

标签: java android email android-intent


【解决方案1】:

对于遇到此错误的其他人:

  • 单击设置 > 帐户和同步 > 添加帐户。
  • 输入您的 Gmail 用户名和密码。
  • 点击下一步。
  • 将您的服务器设置为 m.google.com。
  • 点击下一步就可以了。

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

【讨论】:

    【解决方案2】:

    尝试使用以下代码

    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..."));
    

    【讨论】:

      【解决方案3】:

      模拟器中应该安装了一个电子邮件应用程序。
      例如: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();
          }
      

      【讨论】:

        猜你喜欢
        • 2013-12-01
        • 2012-01-31
        • 1970-01-01
        • 2017-02-08
        • 2011-10-16
        • 2012-01-26
        • 2014-05-28
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多