我的应用程序中有两个流程。
流程1:
启动画面->活动A->活动B->活动C->活动A
流程2:
启动画面->活动C->活动A
解释以上内容;在流程1中,用户看到启动画面,进入主画面,进入登录画面,成功登录后,进入主画面。如果用户单击从主屏幕注销,则将其重定向到主屏幕。
在流程2中,该用户是旧用户,他看到了初始屏幕并直接看到了主屏幕。如果他注销,则应将其定向到主屏幕。
我面临的问题是,在流1中,一切都按预期工作。但是在流程2中,注销(活动C)后,主屏幕(活动A)没有打开。意图不起作用。
点击退出时:
@Override
public void onClick(View v) {
((StudyStoryMain)getActivity()).logoutUser();
}
方法:
public void logoutUser() {
//Problem: the intent is getting called in case the user creates an account. But, if the user is already an existing user, the intent is nit working
ParseUser.getCurrentUser();
ParseUser.logOut();
Intent i = new Intent(StudyStoryMain.this, HomeActivity.class);
//logic to fix logout
// i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
finish();
startActivity(i);
}
为什么意图在两种流程中都不起作用?
最佳答案
尝试这种方式:
Intent intent = new Intent(StudyStoryMain.this, HomeActivity.Class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
finish(); // Call once you redirect to another activity