【问题标题】:Send Email without conformation popup发送电子邮件而不弹出确认
【发布时间】:2014-05-29 21:25:03
【问题描述】:

我正在尝试在 Android 中编写示例 E-Mail 应用程序。

我的意图是一旦我点击按钮它应该打开默认邮件应用程序没有蚂蚁选择菜单

我的代码如下::

public void sendEmail(View v)
{
    String[] TO = {"amrood.admin@gmail.com"};
      String[] CC = {"mcmohd@gmail.com"};
      Intent emailIntent = new Intent(Intent.ACTION_SEND);
      emailIntent.setData(Uri.parse("mailto:"));
      emailIntent.setType("text/plain");


      emailIntent.putExtra(Intent.EXTRA_EMAIL, TO);
      emailIntent.putExtra(Intent.EXTRA_CC, CC);
      emailIntent.putExtra(Intent.EXTRA_SUBJECT, "Your subject");
      emailIntent.putExtra(Intent.EXTRA_TEXT, "Email message goes here");

      try {
         //startActivity(Intent.createChooser(emailIntent, "Send mail..."));
          startActivity(emailIntent);
         finish();
         Log.i("Finished sending email...", "");
      } catch (android.content.ActivityNotFoundException ex) {
         Toast.makeText(MainActivity.this, 
         "There is no email client installed.", Toast.LENGTH_SHORT).show();
      }     
}

我不需要下面的屏幕:

【问题讨论】:

  • Check this answer,完美运行的代码。
  • 这个菜单是默认的,因为用户应该可以选择他们想要如何处理他们的电子邮件。
  • 这是正确答案,没有解决方法。如果您真的想确保在没有用户交互的情况下发送电子邮件,唯一的方法是使用@Kedamath 指出的 javamail。
  • @Kedarnath 他不想在后台发送电子邮件,他希望对话框不弹出。
  • @John,该菜单在使用 Android 操作系统的默认电子邮件功能时出现。但是如果你是通过编码来做的,那么那个菜单就不会出现。

标签: android email


【解决方案1】:

据我了解,这就是您想要的:

  1. 用户点击按钮
  2. 没有弹出对话窗口
  3. 电子邮件会在默认邮件应用程序中打开

正如我们在 cmets 中指出的那样,弹出此对话框窗口是默认行为。如果没有弹出此对话框窗口,则用户将无法选择如何处理您让他们撰写的电子邮件。

如果用户愿意,他们可以单击对话框上的复选标记,使该应用程序成为处理电子邮件的默认应用程序。然后用户将不再获得该弹出窗口。这取决于用户,而不是开发人员。

你不能摆脱这个对话窗口,它本来就在那里。

【讨论】:

  • 不是 100% 同意你,约翰,如果你不使用 Intent 和默认的操作系统电子邮件功能,那么你可以通过编程方式发送电子邮件而无需任何用户交互。
  • @Kedarnath 您不了解开发人员要完成的工作。是的,您可以在后台发送电子邮件,但这不是他想要完成的。再次阅读帖子,您错过了重点。
  • @Kedarnath 没有伤害,在我编写答案时,您的论点非常有建设性 =)
猜你喜欢
  • 1970-01-01
  • 2012-11-19
  • 2013-05-18
  • 1970-01-01
  • 2014-09-25
  • 1970-01-01
  • 1970-01-01
  • 2016-09-22
  • 1970-01-01
相关资源
最近更新 更多