如何控制从电子邮件应用程序到调用活动

时间:2016-08-18 08:17:38

标签: android email-client


我有一个场景,我需要从我的Android应用程序发送电子邮件。

           String to = textTo.getText().toString();
          String subject = textSubject.getText().toString();
          String message = textMessage.getText().toString();

          Intent email = new Intent(Intent.ACTION_SEND);
          email.putExtra(Intent.EXTRA_EMAIL, new String[]{ to});
          //email.putExtra(Intent.EXTRA_CC, new String[]{ to});
          //email.putExtra(Intent.EXTRA_BCC, new String[]{to});
          email.putExtra(Intent.EXTRA_SUBJECT, subject);
          email.putExtra(Intent.EXTRA_TEXT, message);

          //need this to prompts email client only
          email.setType("message/rfc822");

          startActivity(Intent.createChooser(email, "Choose an Email client :"));


我使用上面的代码打开了gmail应用程序并发送了邮件。
但有没有一种方法可以从我们的应用程序跟踪,如调用活动或片段是否发送邮件,以便我需要在我的代码中进行一些UI更新

2 个答案:

答案 0 :(得分:0)

你不能,这不是API的一部分。即使没有发送按钮,也会在按下发送按钮后返回。

答案 1 :(得分:0)

由于意图启动另一个应用程序,这些其他应用程序负责返回邮件发送或不发送的某种信息 - 我不知道任何邮件应用程序实际上是这样做的。如果有一个,不是每个人都会使用它 因此,确保获取信息的唯一方法是使用您自己的邮件服务器和AndroidMail。这样您就可以直接从应用发送邮件,而不是将任务分配给其他应用,就像使用Intent.ACTION_SEND

一样