Preventing users to login again after closing the app

后端 未结 1 876
眼角桃花
眼角桃花 2020-12-04 03:58

I have a problem in my login page. after successful login my account, and close the app and re-open it, The screen is still on the login page. How can I make my app like Fac

1条回答
  •  予麋鹿
    予麋鹿 (楼主)
    2020-12-04 04:38

    you can create a shared preference class like this:-

        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();
        }
            }
    

    and when you login in your app then set the value like this:-

    setUserLoggedOut(YourActivity.class, false);
    

    and set a check on splash screen like this:-

    if (isUserLoggedOut(StartActivity.this)) {
                        startActivity(new Intent(StartActivity.this, LoginActivity.class));
                        finish();
                    } else {
                        startActivity(new Intent(StartActivity.this, MainActivity.class));
                        finish();
                    }
    

    0 讨论(0)
提交回复
热议问题