我是Android应用程序开发的新手。我有一个小问题。在我的Android应用程序上工作突然点击“主页”按钮,所以它转到后台一段时间再次转到“主页”并单击我的应用程序图标它再次从我的第一个屏幕开始,而不是这个我保留上次查看的活动,并应显示消息,如“您的会话超时所以请再次使用两个EditText框重新登录”然后检查凭据并允许用户继续或重定向到登录屏幕。如何实现这一点。
提前致谢..
答案 0 :(得分:3)
在Android中很简单。你需要保持SharedPreferences
。
阅读this以更好地理解这个概念。
这将作为
==> when ever you are trying to maintain login concept save user name in the sharedpreference.
==> once data is edited in prefernces.xml , the data in it can be check in any Activity.
例如,要保存用户名,密码和会话ID,您可以:
SharedPreferences pref = myContexy.getSharedPreferences("Session Data", MODE_PRIVATE);
SharedPreferences.Editor edit = pref.edit();
edit.putString("User Name", username);
edit.putString("Password", password);
edit.putInt("Session ID", session_id);
edit.commit();
并获取它们
SharedPreferences pref = myContexy.getSharedPreferences("Session Data", MODE_PRIVATE);
username = pref.getString("User Name", "");
password = pref.getString("Password", "");
session_id = pref.getInt("Session ID", 0);
答案 1 :(得分:2)
SharedPreferences
肯定是要走的路,但要详细了解超时:
onPause()
( - > SharedPreferences
)onResume()
比较,检查超时如果你没有超时只是继续,否则显示漂亮的屏幕,只需退出,自毁设备,或在这种情况下你想做的任何事情: - )
您也可以考虑实现某种会话管理器类,以便在更高级别处理它: Nice example/tutorial from android hive
答案 2 :(得分:1)
有关活动生命周期的说明,请参阅此图表:http://developer.android.com/reference/android/app/Activity.html#ActivityLifecycle
覆盖活动中的相应方法,以跟踪它何时失去/重新获得焦点。
答案 3 :(得分:0)
如果你想维护用户登录会话,那么我们可以让处理程序在所有活动中使用首选项,而不是在首先执行此操作。