Я использую SharedPreference, чтобы сохранить имя пользователя после входа пользователя в мое приложение, и очищаю его, если пользователь выходит из системы < / сильный>.
Я проверю это значение при запуске приложения, если для использования этого значения null пользователю требуется логин.
Однако, когда я проверяю с помощью android 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)
Эта проблема не возникает с android ‹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();