【问题标题】:Android Java open activity after email sent发送电子邮件后的 Android Java 打开活动
【发布时间】:2014-04-30 14:28:29
【问题描述】:

我在发送电子邮件后尝试开始一项新活动 我使用以下来调用默认的电子邮件客户端

this.startActivity(Intent
.createChooser(emailIntent, "Send mail..."));

这可以正常工作,并在您发送消息时启动电子邮件应用程序,它会让您重新回到它开始的活动

然后我想开始一个新的活动(主屏幕),然后关闭前一个

我插入了以下内容

Intent myIntent = new Intent(view.getContext(), Activity1.class);
startActivityForResult(myIntent, 0);
finish();

这可行,但电子邮件屏幕隐藏在新活动后面,我必须退出应用程序才能发送电子邮件

有没有办法在邮件发送后开始活动?

我使用gmail作为客户端

任何帮助表示赞赏

标记

【问题讨论】:

    标签: java android email android-activity send


    【解决方案1】:

    不幸的是,我没有找到任何信息,当您使用starActivityForResult() 启动电子邮件客户端时,无论用户发送电子邮件还是取消该操作,它都会返回一些结果代码。 Gmail 发送的活动是在您的活动堆栈中启动的,因此您最终会启动两个活动,gmail 应用程序是第二个。

    【讨论】:

      【解决方案2】:

      希望对你有帮助

      Intent email = new Intent(Intent.ACTION_SEND);
          email.putExtra(Intent.EXTRA_EMAIL,new String[] { "tony@mail.com"});
          email.putExtra(Intent.EXTRA_SUBJECT,"Test");
          email.putExtra(Intent.EXTRA_TEXT,"sent a message using for testing ");
      
          email.setType("message/rfc822");
      
          startActivityForResult(Intent.createChooser(email, "Choose an Email client:"),
                              1);
      

      你需要像下面这样的 onActivityResult 方法

      protected void onActivityResult(int requestCode, int 结果代码,意图数据){

      if(requestCode == MY_REQUEST_CODE) {
          if(resultCode == RESULT_OK) {
      
      
          } else {
      
              Intent ingoHome = new Intent(current.this,
                      newclass.class);
      
              startActivity(ingoHome);
      
      
          }
      }
      
      finish();
      

      }

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-01-15
        • 1970-01-01
        • 2011-09-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多