Intent emailSend = new Intent(android.content.Intent.ACTION_SEND);
emailSend.putExtra(android.content.Intent.EXTRA_EMAIL, new String[]{"tonikg90@gmail.com"});
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说“已发送电子邮件”
答案 0 :(得分:4)
首先,从startActivityForResult
方法中删除评论。请记住:start活动是异步工作的,因此在您使用startActivityForResult之后,setResult
和finish
将被执行。
您需要做的是实施onActivityResult
方法,并将setResult
和finish
移到那里。电子邮件发送后,系统会调用onActivityResult
,因此会返回您的主要活动。