我是否需要在Android中明确完成一项活动?

时间:2012-07-04 17:04:32

标签: android android-activity activity-finish

当我开始一项新活动时,我是否需要明确地完成当前的活动,或者安卓是否会照顾它?

这是我在活动A中写的开始活动B:

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

我应该在上面提到的两行之后通过调用下一行来结束A吗?

this.finish()

3 个答案:

答案 0 :(得分:8)

总的来说,不应该。

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

如果您 DO ,请致电完成:

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

答案 1 :(得分:2)

不,这不是强制性的。

finish()

完成方法状态“当你的活动完成后调用它并应该关闭。将ActivityResult传播回通过onActivityResult()启动你的人。”

参考链接>> link

答案 2 :(得分:1)

 explicitly finish the current activity or does android take care this ?

这取决于你的要求,如果你想要活动A,同时回到表格活动B仍然存在,所以你不需要打电话给完成,但如果你不想要活动A,当你回来表格活动B然后你应该打电话给完...