【问题标题】:Launching email client programatically in android and passing email address to client在 android 中以编程方式启动电子邮件客户端并将电子邮件地址传递给客户端
【发布时间】:2015-06-11 09:00:31
【问题描述】:

在我的应用中,我有一个联系人页面,当用户点击联系人姓名时,会出现一个下拉菜单,其中包含联系人的电子邮件和电话号码。

我正在使用以下代码在包含电子邮件地址的文本视图的 onClick 方法中启动电子邮件客户端:

contactEmailText.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

            Intent emailIntent = new Intent(Intent.ACTION_SEND);
            emailIntent.setType("text/plain");
            emailIntent.putExtra(Intent.EXTRA_EMAIL, new String[]{contactEmailText.getText().toString()});
            startActivity(emailIntent);

        }
    });

我的问题是,当我启动电子邮件客户端时,第一个联系人电子邮件始终在收件人栏中,如果我通过退出应用程序关闭客户端,然后再次执行此操作,我想要的电子邮件地址在收件人/收件人栏中我需要它的地方。

有没有办法每次都将我想要的电子邮件传递给客户端,而无需退出电子邮件应用程序。

【问题讨论】:

  • the email address i want is in the right place 什么地方合适?
  • @greenapps 请看我编辑的帖子
  • the first contacts email i ???? the email address i want ????这与您的电子邮件客户端有什么关系吗? contactEmailText.getText().toString() 有时不是错的吗?添加 Toast 以每次显示它。
  • 您描述问题的方式令人困惑。看起来好像电子邮件地址没有放在收件人栏中,而是放在不同的栏中。但现在我认为你只是在谈论一个错误的电子邮件地址。
  • @greenapps 对不起,我没有很好地解释自己,基本上当所有应用程序都关闭时,设备没有打开的应用程序,我打开我的应用程序,单击联系人电子邮件以启动电子邮件客户端和那个联系人电子邮件在收件人/收件人栏中,我需要它。如果我然后在不关闭电子邮件客户端的情况下返回我的应用程序并单击不同的联系人电子邮件地址,则第一个联系人电子邮件仍在收件人/收件人栏中,而不是新的电子邮件地址,所以我的问题是电子邮件地址我只想在每次使用后完全关闭电子邮件客户端时显示

标签: android email android-intent


【解决方案1】:

您必须先添加一个额外的标志才能关闭电子邮件应用程序。单任务左右的东西。尝试类似:

 intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);      
 intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK); 

看看更多的标志。

【讨论】:

  • intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);做到了
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-06-11
  • 2011-03-24
  • 2013-03-03
  • 1970-01-01
  • 2018-05-11
  • 1970-01-01
  • 2022-01-13
相关资源
最近更新 更多