У меня есть система входа/выхода, где пользователь регистрируется либо через facebook, либо в нашей собственной базе данных mysql.Улучшение системы входа/выхода
Когда пользователь успешно Входов в fullying сохраняется:
SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
SharedPreferences.Editor editor = settings.edit();
editor.putBoolean("loggedIn", true);
editor.putString("email", EMAIL);
editor.putString("password", PASSWORD);
editor.putInt("USERID", Integer.parseInt((String) product.get("ProfileID")));
editor.commit();
А потом у меня есть копии страницы, которая проверяет, если пользователь вошел в систему:
SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
boolean loggedin = settings.getBoolean("loggedIn", false);
if (loggedin) {
Intent intent = new Intent(this, LoggedIn.class);
startActivity(intent);
} else {
Intent intent = new Intent(this, LogIn.class);
startActivity(intent);
}
а затем, когда пользователь входит в out:
SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
SharedPreferences.Editor editor = settings.edit();
editor.putBoolean("loggedIn", false);
editor.putString("email", "");
editor.putString("password", "");
editor.commit();
db.clearLists();
db.clearProducts();
Intent intent = new Intent(v.getContext(), Splash.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
v.getContext().startActivity(intent);
Это, кажется, работает нормально, то есть пользователь выходит из системы и отправляется обратно на страницу входа a и все их данные были удалены из приложения.
Однако некоторые пользователи сообщают, что если они закрывают приложение и возвращаются к нему, они на самом деле все еще зарегистрированы. Я не могу реплицировать это и так интересно, есть ли у кого-нибудь какие-либо данные о том, как улучшить мою систему входа/выхода улучшить его и предотвратить это.