我正在Android应用程序上开发,我希望在用户登录后阻止返回到SignIn活动。我尝试过Intent.FLAG_ACTIVITY_CLEAR_TASK,但它不起作用
Intent intent = new Intent(SignInActivity.this, FirstPage.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
我也尝试在启动Activity后立即添加完成,但这只是给了我一个泄露的窗口错误。
Intent intent = new Intent(SignInActivity.this, FirstPage.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
finish();
我的活动路径是:
MainActivity(我的应用说明)< - > SignInActivity(登录) - >首先(登录)。
用户可以在MainActivity和SigInActivity之间前后移动。如何防止用户从FirstPage返回到SignInActivity或MainActivity?
有什么想法吗?谢谢!
答案 0 :(得分:1)
调用finish()
将结束活动,而不是将其作为您可以返回的活动。您需要查看导致泄露的窗口错误的原因(例如在完成活动时在屏幕上留下通知)并解决该问题而不是使用完成,因为您有一个泄漏的窗口错误。
答案 1 :(得分:0)
使用FLAG_ACTIVITY_NEW_TASK,您的活动将成为历史堆栈新任务的开始。尝试使用两个标志(NEW_TASK和CLEAR_TOP)。
您也可以覆盖onBackPressed方法。
@Override
public void onBackPressed() {
return;
}
This帖已解决了一个非常类似的问题,值得一看!