我正在开发一个应用程序,用户根据登录类型将其重定向到导航抽屉活动。共有3种登录类型。现在,我的问题是当我从共享首选项中获取登录类型并尝试在第二次打开应用程序时将用户重定向到他的抽屉,它不会跳过登录屏幕。我按原样在toast中显示首选项数据,但不跳过登录活动。
任何人都可以帮忙吗?
final SessionManagement session = new SessionManagement(getApplicationContext());
Toast.makeText(getApplicationContext(), "User Login Status: " + session.isLoggedIn(), Toast.LENGTH_SHORT).show();
session.checkLogin();
这是我的isLoggedin函数
public boolean isLoggedIn(){
return pref.getBoolean(IS_LOGIN, false);
}
这是checkLogin函数
public void checkLogin(){
// Check login status
if(!this.isLoggedIn()){
// user is not logged in redirect him to Login Activity
Intent i = new Intent(_context, MembersArea.class);
// Closing all the Activities
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
// Add new Flag to start new Activity
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
// Staring Login Activity
_context.startActivity(i);
}
}
这一切都在SessionManagement类
中我也有这个函数redirectAuto
public void redirectAuto(String userType){
// Check login status
if(this.isLoggedIn()){
if(userType == "type1"){
Intent intent = new Intent(_context, Type1.class);
_context.startActivity(intent);
}else if(userType == "type2"){
Intent intent = new Intent(_context, Type2.class);
_context.startActivity(intent);
}else if(userType == "type3"){
Intent intent = new Intent(_context, Type3.class);
_context.startActivity(intent);
}else{
Toast.makeText(_context, "Please login", Toast.LENGTH_SHORT).show();
}
}
}
但是当我调用它时,如果isLoggedIn为false,它就不会去任何地方......只需停留在登录界面