SharedPreferences содержит метод возвращает всегда true - PullRequest
0 голосов
/ 22 мая 2018

У меня есть всплеск активности, который проверяет, входит ли пользователь в первый раз или нет.Я использую общие настройки для сохранения, если пользователь уже вошел в систему или нет.Однако после чистой установки приложения (я удалил предыдущую версию) я все равно получаю верный ответ, означающий, что пользователь не первый раз входит в систему.

Это мое условие, еслипроверьте, выполнил ли пользователь вход в систему:

SharedPreferences prefs = getSharedPreferences(Login.LOGIN_PREF, Context.MODE_PRIVATE);
                if(prefs.contains(Login.REMEMBER_USER) &&
                        prefs.getBoolean(Login.REMEMBER_USER, false)) {

                    NetworkManager.login(SplashActivity.this, SplashActivity.this);
                }
                else{

                    Intent in = new Intent(SplashActivity.this, Login.class);
                    startActivity(in);
                    finish();
                }

Итак, последовательность операций: после удаления приложения, а затем повторной его установки я останавливаюсь при условии проверки, и оно должно быть ложным, поскольку это первоеrun, однако он возвращает true и входит в часть NetworkManager, тогда как он должен переходить к части Login.

Примечание. Это происходит только на некоторых устройствах (Galaxy S6).

Что может вызывать такиестранное поведение?

Ответы [ 2 ]

0 голосов
/ 22 мая 2018

Если вы упомянули android:allowBackup="true" в своем файле манифеста, ваши данные будут сохранены и сохранены в ходе деинсталляций, что может быть нежелательно во время разработки.

Значение по умолчанию - true.

Вам необходимо установить android:allowBackup="false", чтобы данные приложения не сохранялись при удалении.

Вот документация для использования атрибута.

0 голосов
/ 22 мая 2018

Я нашел проблему.У меня была следующая строка в моем файле манифеста под приложением.

<application
        android:allowBackup="true"
....
</aplication>

Как только я изменил значение на false, все заработало.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...