5

在此处输入图像描述我是 Android 应用程序开发的新手。我有一个小问题。在我的 Android 应用程序上工作突然点击“主页”按钮,所以它会在一段时间后再次进入后台转到“主页”并单击我的应用程序图标它再次从我的开始第一个屏幕而不是这个我保留了最后查看的活动,并且应该显示消息,例如“您的会话超时,所以请再次登录带有两个 EditText 框的框”然后检查凭据并允许用户继续或重定向到登录屏幕。如何为达到这个。

提前致谢..

4

4 回答 4

3

它在Android中很简单。你需要维护SharedPreferences

阅读本文以更好地理解该概念。

这将作为

 ==> 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);
于 2012-07-25T10:33:11.407 回答
2

SharedPreferences绝对是要走的路,但要更详细地了解超时:

  • 将当前时间戳保存在onPause()(-> SharedPreferences)
  • 然后onResume()比较它,检查超时

如果您没有超时,请继续,否则显示漂亮的屏幕,只需注销,自毁设备或在这种情况下您想做的任何事情:-)

您也可以考虑实现某种会话管理器类,以在更高级别上处理它: 来自 android hive 的不错的示例/教程

于 2014-04-22T12:44:28.747 回答
1

有关 Activity 生命周期的说明,请参见此图:http: //developer.android.com/reference/android/app/Activity.html#ActivityLifecycle

覆盖活动中的适当方法以跟踪它何时失去/重新获得焦点。

于 2012-07-25T10:05:56.243 回答
0

如果您想维护用户登录会话,那么我们可以使用处理程序来执行此操作,而不是在所有活动中拥有偏好。

  1. 用户登录后创建Handler
  2. 设置 sendMessageAtTime(Message, long),long 为毫秒值。这将调用定义的注销函数。
于 2015-06-27T12:02:39.980 回答