我想根据条件在finish()
开始另一项活动。我在onDestroy()
中使用了相同的代码,但我认为从生命周期的角度来看,这不是正确的地方。
(活动可能会被销毁,但用户没有主动离开。)
以下代码没有任何效果:
@Override
public void finish() {
if (mCondition) {
Intent intent = new Intent(this, OtherActivity.class);
startActivity(intent);
}
super.finish();
}
为什么它不起作用,有替代方案吗?
答案 0 :(得分:1)
我认为最好的选择是开始新活动,然后完成当前的活动:
if (mCondition) {
Intent intent = new Intent(this, OtherActivity.class);
startActivity(intent);
finish();
}
答案 1 :(得分:0)
我已经使用了自己,并且工作正常
public void ToBeClosed()
{
Intent a = new Intent(context,NewActivity.class);
startActivity(a);
OldActivity.this.finish();
}
并使用if语句正文中的函数
if (mCondition) { ToBeClosed(); }