在应用完全重新启动之前,不要再次显示mainactivity

时间:2018-12-02 20:37:39

标签: java android android-studio

我有一个具有主要活动的应用程序。当它切换到第二个活动时,我会这样:

startActivity(intent);
finish();

我希望这将完全阻止应用程序返回到主活动。当我在secnond活动中按下android后退按钮时,它将返回主屏幕(这是我想要的)。但是,当我从多任务再次打开应用程序时,它可以返回到第一个活动!以前有人遇到过这个问题吗?

2 个答案:

答案 0 :(得分:1)

我遇到了这个问题,我的第一个屏幕将是登录活动,仅用于显示用户是否未登录。否则,它将显示主屏幕。我尝试使用SharedPreferences来保持登录持久性,但事实证明,我使用的身份验证服务Google Firebase具有内置的登录持久性。

但是,如果没有更多信息,我只能建议您研究SharedPreferences并在启动时进行布尔检查条件。如果满足条件,则开始家庭活动;否则,显示主要活动。像这样:

boolean isLogin;
SharedPreferences settings;
SharedPreferences.Editor editor;

settings = getApplicationContext().getSharedPreferences("MyPrefs", MODE_PRIVATE);
isLogin = settings.getBoolean("islogin", false);

if(isLogin) {
     finish();
     goToDash();
}

Public Interface Shared Preferences, Android Developers

Obtaining Shared Preferences

Working with Android Shared Preferences

答案 1 :(得分:0)

想通了!我的应用程序使用Twitter api,重新启动该应用程序将导致错误,因为它尝试获取以前没有的凭据。通过执行以下操作,我还确保在切换某些应用程序时完全清除堆栈:

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