从我的活动中,我通过为它定义一个Intent来启动一个新的Activity。然后我开始新的活动。
现在假设在方法A中发生这种情况:
A {
/*
*
*
*/
startActivity(i); // where i is the intent for new Acivity
/*
*
*
*/
}
现在发生的事情是,即使在我开始之前,也会执行启动活动后的语句。 我想,当我开始的时候,我现在的班级会暂停“我”。开始,并且后来“我”结束了,这堂课从那时起恢复了?
是否可以这样做?
答案 0 :(得分:0)
在finish();
后调用startActivity(i);
或致电onDestroy()
方法。
答案 1 :(得分:0)
您可以在startActivity()调用后立即调用finish(),但这会终止第一个活动。另一种方法是使用startActivityForResult()启动新活动,并将逻辑放在第一个活动中,以便在获得结果之前停止执行它正在执行的操作。结果将作为回调onActivityResult()。
这个question有一个很好的例子。
答案 2 :(得分:0)
这些活动存在于UI威胁中,并且无法阻止此威胁,因为Android内核可以保护此功能。
当您使用startActivity(i)启动新活动时,如果您在后退按钮中clic或者您调用onBackPressed(),则会再次显示旧活动。并且您可以在启动new之后覆盖此方法以关闭实际活动,如下所示:
@Override
public void onBackPressed() {
Intent i = new Intent(this, ACTIVITYNAME.class );
startActivity(i);
this.finish();
}
如果您需要简历,需要回忆起第一项活动......
最后,也许是最好的选择,你可以使用startActivityForResult(),这是一个很好的例子: