关于我的应用程序我遇到了一些问题,登录后会进入主页。在主页上进行反击后,应用程序会退出。下次打开应用程序时,它会再次从登录页面开始。
我已经传递了值并设置了通知,我不知道如何阻止它可以帮助我@Thanks
答案 0 :(得分:2)
SharedPreferences
。将登录详细信息保存到SharedPreference
SharedPreferences sp = context.getSharedPreferences("loginSaved", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sp.edit();
editor.putString("username", "some user value");
editor.putString("password", "some password value");
editor.commit();
SharedPreference
是否有值。检查是否已登录
SharedPreferences sp = context.getSharedPreferences("loginSaved", Context.MODE_PRIVATE);
String username = sp.getString("username", null);
String password = sp.getString("password", null);
if(username != null && password != null){
// login automatically with username and password
}
else{
// show login page
}
SharedPreference
的loginDetails
正确注销。答案 1 :(得分:0)
我假设您的活动流程如下:登录 - >主要。您可以撤消活动,以便主要活动根据需要启动登录活动。
将您的主要活动设为清单中的MAIN
活动,这是默认设置。
在每个需要登录状态的活动中,检查onResume()
中的有效会话或凭据,并在需要时启动登录活动。要阻止登录活动中的循环,请按 - >主要活动恢复 - >启动登录活动后,您可以覆盖登录活动的onBackPressed()
以致电moveTaskToBack(true)
以将您的应用移至后台。
登录成功后,只需finish()
登录活动,以便恢复之前的活动,例如您的主要活动。
显式注销应清除会话/凭据数据,并可能启动登录活动。
这将使应用程序的后台堆栈保持一致状态,并且还可以轻松扩展到应用程序可以恢复的多个会话要求的活动。
要在本地存储凭据/会话数据,请使用例如SharedPreferences
。