电子邮件发送后的Android Java开放活动

时间:2014-03-23 09:15:29

标签: java android email android-activity send

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

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

这样可以正常工作,当您发送邮件时,它会启动电子邮件应用程序,并将其重新发送给它开始的活动

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

我插入了以下内容

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

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

有没有办法在发送电子邮件后启动活动?

我使用gmail作为客户端

任何帮助表示赞赏

标记

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

希望这会对你有所帮助

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   resultCode,Intent data){

if(requestCode == MY_REQUEST_CODE) {
    if(resultCode == RESULT_OK) {


    } else {

        Intent ingoHome = new Intent(current.this,
                newclass.class);

        startActivity(ingoHome);


    }
}

finish();
     

}