Предотвращение повторного входа пользователей после закрытия приложения - PullRequest
0 голосов
/ 12 апреля 2019

У меня проблема на странице входа. после успешного входа в мою учетную запись, закройте приложение и снова откройте его, экран все еще на странице входа. Как я могу сделать свое приложение похожим на Facebook? Я пытался реализовать SharedPreferences, но каждый раз, когда пользователь успешно вошел в систему, я передаю IntentExtra.

Спасибо

РЕДАКТИРОВАТЬ: добавить скриншот кода

enter image description here

1 Ответ

4 голосов
/ 12 апреля 2019

вы можете создать общий класс предпочтений следующим образом: -

    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();
                }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...