我的登录页面有问题。成功登录我的帐户后,关闭该应用程序并重新打开它,该屏幕仍在登录页面上。如何使我的应用像Facebook?我曾尝试实现SharedPreferences
,但每次用户成功登录时都会传递IntentExtra
。
谢谢
编辑:添加代码的屏幕截图
答案 0 :(得分:4)
您可以创建这样的共享首选项类:-
public class AppPrefrences {
private static SharedPreferences mPrefs;
private static SharedPreferences.Editor mPrefsEditor;
public static boolean isUserLoggedOut(Context ctx) {
mPrefs = PreferenceManager.getDefaultSharedPreferences(ctx);
return mPrefs.getBoolean("id_logged_in", true);
}
public static void setUserLoggedOut(Context ctx, Boolean value) {
mPrefs = PreferenceManager.getDefaultSharedPreferences(ctx);
mPrefsEditor = mPrefs.edit();
mPrefsEditor.putBoolean("id_logged_in", value);
mPrefsEditor.commit();
}
public static String getUserName(Context ctx) {
mPrefs = PreferenceManager.getDefaultSharedPreferences(ctx);
return mPrefs.getString("userName", "");
}
public static void setUserName(Context ctx, String value) {
mPrefs = PreferenceManager.getDefaultSharedPreferences(ctx);
mPrefsEditor = mPrefs.edit();
mPrefsEditor.putString("userName", value);
mPrefsEditor.commit();
}
public static void clearAllPreferences(Context ctx) {
mPrefs = PreferenceManager.getDefaultSharedPreferences(ctx);
mPrefsEditor = mPrefs.edit();
mPrefsEditor.clear();
mPrefsEditor.commit();
}
}
,当您登录应用程序时,请像下面这样设置值:-
setUserLoggedOut(YourActivity.class, false);
并在启动屏幕上设置如下所示:-
if (isUserLoggedOut(StartActivity.this)) {
startActivity(new Intent(StartActivity.this, LoginActivity.class));
finish();
} else {
startActivity(new Intent(StartActivity.this, MainActivity.class));
finish();
}