я использую SharedPreference, чтобы сохранить имя пользователя после пользователь входа мое приложение и ясно это, если пользователь выхода из системы.Данные были кэшируются в Android 6 (SharedPreferences)
Я буду проверять это значение, когда начать приложения, если это значение NULL пользователю необходим логина использовать. не
Однако, когда я проверяю с андроида 6.0:
Login (save username - Toast show not null) > Logout (remove username - Toast show null) > Remove App > Reinstall app > StartApp (not login - Toast show not null, this value is user that used => issue)
Эта проблема не происходит с андроид < 6,0
Вот мой код:
INIT sharedpreference в заявке:
public static SharedPreferences getPref() {
return mInstance.getSharedPreferences(PREF_NAME, Context.MODE_PRIVATE);
}
Проверьте логин:
if (App.getPref().getString("username", null) == null){
//Login
}
Сохранить если Войти успех:
App.getPref().edit()
.putString("username", s.getLoggedInUser().getUsername())
.putString("profilePicUrl", s.getLoggedInUser().getProfilePicUrl())
.putString("pk", s.getLoggedInUser().getPk())
.apply();
Ясно, когда выход из системы:
App.getPref().edit().clear().apply();
именно то, что ваша проблема? – Gaurav
См. Строку 4 в моем вопросе со сценарием выпуска: после удаления приложения очистить sharepreference, переустановите приложение и прочитайте из данных sharepreference не null. – MsBao
ok получил это из-за автоматических резервных копий, введенных в M – Gaurav