猿问

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

我有三个活动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.activity

Intent 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键。如何避免呢?


神不在的星期二
浏览 106回答 3
3回答

慕神8447489

活动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的方法@Overridepublic void onBackPressed() {&nbsp; &nbsp; Intent i = new Intent(MainActivity.this, StartedActivity.class);&nbsp; &nbsp; i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);&nbsp; &nbsp; MainActivity.this.startActivity(i);&nbsp; &nbsp; super.onBackPressed();}所以现在您可以应用流程A <---> B ---> C ---> A这里的一个问题是A从B返回时将被重置希望这可以帮助
随时随地看视频慕课网APP

相关分类

Java
我要回答