当我开始一项新活动时,我需要明确完成当前活动还是 android 会处理这个?
这是我在活动 A 中为启动活动 B 所写的内容:
Intent intent = new Intent(this, BActivity.class);
startActivity(intent);
我应该在上述两行之后调用下一行来结束 A 吗?
this.finish()
当我开始一项新活动时,我需要明确完成当前活动还是 android 会处理这个?
这是我在活动 A 中为启动活动 B 所写的内容:
Intent intent = new Intent(this, BActivity.class);
startActivity(intent);
我应该在上述两行之后调用下一行来结束 A 吗?
this.finish()
一般来说,不,你不应该。
不同之处在于,如果您在活动 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
不,这不是强制性的。
finish()
完成方法声明“当您的活动完成并应该关闭时调用它。ActivityResult 会传播回通过 onActivityResult() 启动您的人。”
参考链接>>链接
explicitly finish the current activity or does android take care this ?
这取决于您的要求,如果您想要活动 A 同时返回活动 B 仍然存在,因此您无需调用完成,但如果您在返回活动 B 时不想要活动 A,那么您应该调用完成 ....