2011-09-19 62 views
1
Intent emailSend = new Intent(android.content.Intent.ACTION_SEND); 
     emailSend.putExtra(android.content.Intent.EXTRA_EMAIL, new String[]{"[email protected]"}); 
     emailSend.putExtra(android.content.Intent.EXTRA_SUBJECT, "Item Best Seller"); 


     emailSend.putExtra(android.content.Intent.EXTRA_TEXT, map1.toString()); 
     emailSend.setType("text/plain"); 

     //startActivity(Intent.createChooser(emailSend, "Send Email...")); 

     setResult(RESULT_OK, emailSend); 
     finish(); 
     break; 

点击发送邮件按钮后,它应该去电子邮件服务。但它立即回到第一个活动。我怎样才能使它成为邮件服务,点击“发送”后又回到第一个活动,还有Toast说“已发送电子邮件”startActivityForResult();

回答

4

首先,从startActivityForResult方法中删除注释。请记住:启动活动异步工作,所以在使用startActivityForResult之后,将执行setResultfinish

然后您需要执行onActivityResult方法,并将setResultfinish移动到那里。 onActivityResult将在电子邮件发送时被调用,因此它会让您回到主要活动。

+0

它可能是一个愚蠢的问题,在onActivityResult方法中写什么,因为我不知道如何引用我的emailSend intent。 – Toni

+0

我不明白你的问题......实际上,我没有看到'?'标记:P – Cristian

+0

好吧,我知道了:)谢谢 – Toni