我有一个具有主要活动的应用程序。当它切换到第二个活动时,我会这样:
startActivity(intent);
finish();
我希望这将完全阻止应用程序返回到主活动。当我在secnond活动中按下android后退按钮时,它将返回主屏幕(这是我想要的)。但是,当我从多任务再次打开应用程序时,它可以返回到第一个活动!以前有人遇到过这个问题吗?
答案 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();
}
答案 1 :(得分:0)
想通了!我的应用程序使用Twitter api,重新启动该应用程序将导致错误,因为它尝试获取以前没有的凭据。通过执行以下操作,我还确保在切换某些应用程序时完全清除堆栈:
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);