为了账号安全,请及时绑定邮箱和手机立即绑定

避免第三项活动回到第一项活动

避免第三项活动回到第一项活动

神不在的星期二 2021-04-09 14:15:39
我有三个活动A,B和C。A是“开始”屏幕/ B是“登录”屏幕/ C是“主”标签栏屏幕在A上,我可以推到B在B上,我可以推到C再回到A在C上,我想避免将其返回至A,但是可以将其推至A(表示注销)A <---> B ---> C ---> A我该如何实现?活动Intent i = new Intent(StartedActivity.this, LoginActivity.class);i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);StartedActivity.this.startActivity(i);//finish(); //if i put finish() B cannot go back to A活动Intent i = new Intent(LoginActivity.this, MainActivity.class);i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);i.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);LoginActivity.this.startActivity(i);finish();活性//This code is for logout, push to A.activityIntent i = new Intent(MainActivity.this, StartedActivity.class);i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);i.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);MainActivity.this.startActivity(i);finish();所以现在的问题是我可以按A键。如何避免呢?
查看完整描述

3 回答

?
慕神8447489

TA贡献1780条经验 获得超1个赞

活动


Intent i = new Intent(StartedActivity.this, LoginActivity.class);

i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);

StartedActivity.this.startActivity(i);

活动


Intent i = new Intent(LoginActivity.this, MainActivity.class);

i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);

LoginActivity.this.startActivity(i);

活性


Intent i = new Intent(MainActivity.this, StartedActivity.class);

i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);

MainActivity.this.startActivity(i);

和覆盖onBackPressedB.activity的方法


@Override

public void onBackPressed() {

    Intent i = new Intent(MainActivity.this, StartedActivity.class);

    i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);

    MainActivity.this.startActivity(i);

    super.onBackPressed();

}

所以现在您可以应用流程A <---> B ---> C ---> A


这里的一个问题是A从B返回时将被重置


希望这可以帮助


查看完整回答
反对 回复 2021-04-18
  • 3 回答
  • 0 关注
  • 105 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信