我的软件和一个主要活动中有一个登录活动。我想要做的是启动登录活动,登录用户,然后启动主活动,并从堆栈中删除登录活动,以便用户可以通过按后退按钮来访问登录活动。我应该使用Whitch打算旗帜吗?
答案 0 :(得分:2)
Intent intent = new Intent(currentClassYoureIn.this, newClassYouWantToBeIn.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); // closes all activities that were started after "newClassYouWantToBeIn"
startActivity(intent);
那,或者你可以开始你的新意图,然后使用方法finish()
关闭当前活动(你开始新意图):
Intent intent = new Intent(currentClassYoureIn.this, newClassYouWantToBeIn.class);
startActivity(intent);
finish(); // closes "currentClassYoureIn" and now "newClassYouWantToBeIn" is the only activity up
答案 1 :(得分:1)
好的,我最近也处理了这个问题。你需要覆盖onBackPressed()
方法,以限制按下后退按钮的操作。
所以你应该做的是,在主要的活动写作中,
public void onBackPressed() {
new AlertDialog.Builder(this)
.setTitle("Alert")
.setMessage("Please Log out first.")
.setpositiveButton("Ok", null)
.create().show();
}
这样,如果没有在mainactivity页面中注销,用户就无法返回登录页面。
另请阅读使用finish()
。
This可能有帮助。请查看。
答案 2 :(得分:0)
这个答案最适合我希望它也可以帮你试试这个 https://stackoverflow.com/a/11308263