检查用户是否已登录

时间:2014-03-24 09:30:06

标签: android sharedpreferences

我正在使用SharedPreferences来检查用户是否已登录。 如果用户未登录,他将被带到登录活动(或)我的信息活动。

我的代码如下。

这是登录活动。

SharedPreferences settings = getSharedPreferences(PREFS_NAME, MODE_PRIVATE);
SharedPreferences.Editor editor = settings.edit();
editor.putBoolean("logged", true); // set it to false when the user is logged out
editor.commit(); // Commit the edits!

我在主要活动中检查了代码,如下所示

SharedPreferences settings = getSharedPreferences(PREFS_NAME, MODE_PRIVATE);
boolean loggedIn = settings.getBoolean("logged", true);
if (loggedIn != true) {
    // Toast.makeText(this,"you are logged in !!",3000).show();
    /* Intent i = new Intent(this,Login.class);
     startActivity(i);*/
    Intent intent = new
    Intent(MymainScreen.this, Registered.class);
    startActivity(intent);
} else {
    // Toast.makeText(this,"you are not logged in !!",3000).show();
    Intent intent = new
    Intent(MymainScreen.this, My_info.class);
    startActivity(intent);
}

请帮助我,没有这项活动,我无法进一步发展。

1 个答案:

答案 0 :(得分:1)

据我了解,您希望使用SharedPreferences检查登录状态,默认情况下您应该认为用户已注销。因此,当SharedPreferences中没有任何内容时,您应该将默认值等于false而不是true

SharedPreferences prefs = getSharedPreferences(PREF_NAME, MODE_PRIVATE);
Intent intent = null;
if (prefs.getBoolean("logged_in", false)) { //user logged in before
    intent = new Intent(this, Info.class);
} else {
    intent = new Intent(this, Registration.class);
}

startActivity(intent);

希望它可以帮到你!