1

当我开始一项新活动时,我需要明确完成当前活动还是 android 会处理这个?

这是我在活动 A 中为启动活动 B 所写的内容:

Intent intent = new Intent(this, BActivity.class);
startActivity(intent);

我应该在上述两行之后调用下一行来结束 A 吗?

this.finish()
4

3 回答 3

8

一般来说,不,你不应该。

不同之处在于,如果您在活动 A 中调用完成,当用户在活动 B 中时,如果他们按下后退按钮,他们将返回到他们在打开应用程序之前所做的任何事情。如果您不在活动 A 中调用完成,他们将返回活动 A

如果你调用完成:

Activity A -> Activity B -> [user press back] -> Homescreen (or whatever activity is on the stack below activity A)

如果您调用完成:

Activity A -> Activity B -> [user press back] -> Activity A
于 2012-07-04T17:06:03.977 回答
2

不,这不是强制性的。

finish()

完成方法声明“当您的活动完成并应该关闭时调用它。ActivityResult 会传播回通过 onActivityResult() 启动您的人。”

参考链接>>链接

于 2012-07-04T17:09:02.653 回答
1
 explicitly finish the current activity or does android take care this ?

这取决于您的要求,如果您想要活动 A 同时返回活动 B 仍然存在,因此您无需调用完成,但如果您在返回活动 B 时不想要活动 A,那么您应该调用完成 ....

于 2012-07-04T17:09:02.923 回答