发送电子邮件后返回应用程序
下面的代码是我当前用于列表视图项目的代码,因此当我点击它时,电子邮件生成器将启动。但是,在发送消息后,它不会将我带回我的应用程序。在发送电子邮件后,我如何将其返回到我的应用程序?如果有人有更好的方法,请告诉我
感谢所有的帮助
if(position == 7) {
Log.i("Send email", "");
String[] TO = {"person@gmail.com"};
Intent emailIntent = new Intent(Intent.ACTION_SEND);
emailIntent.setData(Uri.parse("mailto:person@gmail.com"));
emailIntent.setType("text/plain");
emailIntent.putExtra(Intent.EXTRA_EMAIL, TO);
emailIntent.putExtra(Intent.EXTRA_SUBJECT, "Your subject");
emailIntent.putExtra(Intent.EXTRA_TEXT, "Email message goes here");
try {
startActivity(Intent.createChooser(emailIntent, "Send mail..."));
finish();
Log.i("Finished sending email...", "");
} catch (安卓.content.ActivityNotFoundException ex) {
Toast.makeText(MainActivity.this,
"There is no email client installed.", Toast.LENGTH_SHORT).show();
}
}
# 1 楼答案
您的代码不使用javamail API,而是使用安装在用户设备上的一个电子邮件客户端。因此,这将导致用户选择一个并结束在意图的额外文本部分中指定的邮件。从这一部分
只需从代码中删除“finish()”方法。这将导致用户在处理邮件时点击后退按钮后返回应用程序。如果用户在其设备上配置了某个选项以降低功耗,则finish()方法会导致活动结束调用onStop()甚至ondeach()方法
# 2 楼答案
应用程序退出,因为您在try{…}中调用的finish()方法将在执行之前的代码后立即停止活动。删除或注释finish()方法以解决此问题
# 3 楼答案
您不应该在通过电子邮件开始新活动后立即完成活动。请删除finish()调用,这将解决您的问题。发送电子邮件后,电子邮件活动将被销毁,并显示您以前的活动