3

我的软件中有一项登录活动和一项主要活动。我想要做的是启动登录活动,记录用户然后启动主要活动,并从堆栈中删除登录活动,以便用户可以通过按返回按钮访问登录活动。我应该使用哪个意图标志?

4

3 回答 3

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
于 2013-09-22T17:43:07.390 回答
1

好的,我最近也处理了这个问题。您需要覆盖onBackPressed()方法以限制按下后退按钮的操作。

所以你应该做的是,在主要活动中写,

public void onBackPressed() {

new AlertDialog.Builder(this)
        .setTitle("Alert")
        .setMessage("Please Log out first.")
        .setpositiveButton("Ok", null)
            .create().show();
}

这样用户就不能在不退出主活动页面的情况下返回登录页面。

另请阅读有关finish().

可能会有所帮助。检查一下。

于 2013-09-22T20:16:08.410 回答
0

这个答案最适合我希望它也适合你试试这个 https://stackoverflow.com/a/11308263

于 2014-04-30T13:35:36.780 回答