我在重新推出Android应用程序中面临问题,i; e
当我运行应用程序的第一个活动是登录时,登录时将导航到主页。
假设按下主页按钮并从App-Drawer重新启动应用程序,它将再次从登录页面开始。但是,如果从任务管理器中的运行列表中将其打开,则将随登录页面提供。如何解决此问题,请帮助我。
将此代码添加到您的 login.java OnCreate
if (!TextUtils.isEmpty(SessionManager.isLogIn(Login.this))) {
SessionManager.user_id = SessionManager.isLogIn(Login.this);
SP = getSharedPreferences(PREFS_NAME, MODE_PRIVATE);
SessionManager.user_name = SP.getString("user_name", "");
SessionManager.user_name = SP.getString("user_pass", "");
SessionManager.uId = SP.getString("id", "");
Intent intent = new Intent(Login.this, HomePage.class);
startActivity(intent);
finish();
}
将Java类名称为 SessionManager.java
public class SessionManager {
static Context context;
public static String PREFS_NAME = "settings";
static SharedPreferences preferences;
public static String user_id ="";
public static String user_name ="";
public static String user_pass ="";
public static boolean check = true;
@Override
public void onCreate() {
super.onCreate();
context = getApplicationContext();
mInstance = this;
}
public static String isLogIn(Context context) {
preferences = context.getSharedPreferences(PREFS_NAME, MODE_PRIVATE);
user_name = preferences.getString("user_name", "");
user_pass = preferences.getString("user_pass", "");
return user_id = preferences.getString("user_id", "");
}
public boolean logoutUser(Context context) {
preferences = context.getSharedPreferences(PREFS_NAME, MODE_PRIVATE);
return true;
}
}
在 login.java
的LOGIN
的onClick
中添加此代码 SP = getSharedPreferences(PREFS_NAME, MODE_PRIVATE);
Editor editit = SP.edit();
editit.putString("user_id", user_id);
editit.putString("user_name", etUsername.getText().toString());
editit.putString("user_pass", etPassword.getText().toString());
editit.commit();
SessionManager.user_id = user_id;
SessionManager.user_name = etUsername.getText().toString());
SessionManager.user_pass = etPassword.getText().toString());
在 login.java
中制作此Global
SharedPreferences SP;