后退按钮带我回家,但回到错误的活动

时间:2014-03-13 16:29:26

标签: android android-intent android-launcher

我有一个带有loginActivity的Android应用程序,然后是MainActivity。

起始点是loginActivity,当您首次打开登录的应用程序然后启动MainActivity时。

我从MainActivity上覆盖了onBackPressed,所以你不会回到loginActivity,除非你点击一个注销按钮。

@Override
public void onBackPressed() {
Intent mainActivity = new Intent(Intent.ACTION_MAIN);
    mainActivity.addCategory(Intent.CATEGORY_HOME);
    mainActivity.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    startActivity(mainActivity);
    finish();
}

问题是,当我按下后退按钮时,它会显示主页启动器(如预期的那样),但是当我再次打开应用程序时,它会转到loginActivity。

有没有办法绕过"绕过" loginActivity还是告诉android我上次活动的时间?

2 个答案:

答案 0 :(得分:0)

我建议将应用程序的入口点更改为MainActivity,在该活动中进行检查以查看用户是否已登录,如果他们未登录则重定向到登录活动。

答案 1 :(得分:0)

如果用户已经登录,我会设置首选项。在LoginActivity的onCreate中,您可以检查首选项并在需要时启动HomeActivity +在LoginActivity中调用finish()。这样你甚至不必在以后覆盖onBackPressed,一切都会正常工作。