Java 发送电子邮件后返回应用程序

Java 发送电子邮件后返回应用程序,java,android,android-intent,android-activity,Java,Android,Android Intent,Android Activity,下面的代码是我当前用于列表视图项目的代码,因此当我点击它时,电子邮件生成器将启动。但是,在发送消息后,它不会将我带回我的应用程序。在发送电子邮件后,我如何将其返回到我的应用程序?如果有人有更好的方法,请告诉我 感谢所有的帮助 if(position == 7) { Log.i("Send email", ""); String[] TO = {"person@gmail.com"}; Intent emailIntent = new Intent(Intent.ACTION_SEND); em

下面的代码是我当前用于列表视图项目的代码,因此当我点击它时,电子邮件生成器将启动。但是,在发送消息后,它不会将我带回我的应用程序。在发送电子邮件后,我如何将其返回到我的应用程序?如果有人有更好的方法,请告诉我

感谢所有的帮助

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 (android.content.ActivityNotFoundException ex) {
    Toast.makeText(MainActivity.this,
            "There is no email client installed.", Toast.LENGTH_SHORT).show();
}
}

您的代码不使用javamail API,而是使用安装在用户设备上的一个电子邮件客户端。因此,这将导致用户选择一个并结束在意图的额外文本部分中指定的邮件。从这一部分

try {
                    startActivity(Intent.createChooser(emailIntent, "Send mail..."));
                    finish();
                    Log.i("Finished sending email...", "");
                } catch (android.content.ActivityNotFoundException ex) {
                    Toast.makeText(MainActivity.this,
                            "There is no email client installed.", Toast.LENGTH_SHORT).show();
                }

只需从代码中删除“finish()”方法。这将导致用户在处理邮件时点击后退按钮后返回应用程序。如果用户在其设备上配置某个选项以降低功耗,则finish()方法会导致活动结束调用onStop()甚至ondeach()方法。

您的代码不使用javamail API,而是使用安装在用户设备上的一个电子邮件客户端。因此,这将导致用户选择一个并结束在意图的额外文本部分中指定的邮件。从这一部分

try {
                    startActivity(Intent.createChooser(emailIntent, "Send mail..."));
                    finish();
                    Log.i("Finished sending email...", "");
                } catch (android.content.ActivityNotFoundException ex) {
                    Toast.makeText(MainActivity.this,
                            "There is no email client installed.", Toast.LENGTH_SHORT).show();
                }

只需从代码中删除“finish()”方法。这将导致用户在处理邮件时点击后退按钮后返回应用程序。如果用户将设备上的某个选项配置为最低功耗,则finish()方法会导致活动结束调用onStop()甚至ondeach()方法。

从电子邮件开始新活动后,不应立即完成活动。请删除finish()调用,这将解决您的问题。发送电子邮件后,电子邮件活动将被销毁,并应显示您以前的活动。

从电子邮件目的开始新活动后,您不应立即完成活动。请删除finish()调用,这将解决您的问题。发送电子邮件后,电子邮件活动将被销毁,并显示您以前的活动。

您的应用程序将退出,因为您在try{…}中调用的finish()方法将在执行之前的代码后立即停止活动。删除或注释finish()方法以解决此问题。

您的应用程序退出,因为您在try{…}中调用的finish()方法将在执行之前的代码后立即停止活动。删除或注释finish()方法以解决此问题。

我相信您可以使用:Intent.setFlags(Intent.FLAG\u ACTIVITY\u FORWARD\u RESULT)-一旦调用setResult,它会将焦点返回到上一个活动。在我的代码中,我需要将其放在哪里?我相信您可以使用:Intent.setFlags(Intent.FLAG\u ACTIVITY\u FORWARD\u RESULT)-一旦调用setResult,它会将焦点返回到上一个活动。我需要在代码中的什么位置放置这个?老兄,我已经这样做了。正如你在上面看到的,第一个答案已经检查过了。老兄,我已经做了。正如你在上面看到的,第一个答案已经被检查过了,已经检查过了。正如您在上面所看到的,第一个答案已经过检查。@Arnold Tagne,lit les Responses先锋提案人pour toi或bao。chiba les points prochainement je te chiba les points.已经完成了。正如您在上面所看到的,第一个答案已经过检查。@Arnold Tagne,lit les Responses先锋提案人pour toi或bao。chiba les points的前海因。