我是 Android 应用程序开发的新手。我有一个小问题。在我的 Android 应用程序上工作突然点击“主页”按钮,所以它会在一段时间后再次进入后台转到“主页”并单击我的应用程序图标它再次从我的开始第一个屏幕而不是这个我保留了最后查看的活动,并且应该显示消息,例如“您的会话超时,所以请再次登录带有两个 EditText 框的框”然后检查凭据并允许用户继续或重定向到登录屏幕。如何为达到这个。
提前致谢..
我是 Android 应用程序开发的新手。我有一个小问题。在我的 Android 应用程序上工作突然点击“主页”按钮,所以它会在一段时间后再次进入后台转到“主页”并单击我的应用程序图标它再次从我的开始第一个屏幕而不是这个我保留了最后查看的活动,并且应该显示消息,例如“您的会话超时,所以请再次登录带有两个 EditText 框的框”然后检查凭据并允许用户继续或重定向到登录屏幕。如何为达到这个。
提前致谢..
它在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);
SharedPreferences
绝对是要走的路,但要更详细地了解超时:
onPause()
(-> SharedPreferences
)onResume()
比较它,检查超时如果您没有超时,请继续,否则显示漂亮的屏幕,只需注销,自毁设备或在这种情况下您想做的任何事情:-)
您也可以考虑实现某种会话管理器类,以在更高级别上处理它: 来自 android hive 的不错的示例/教程
有关 Activity 生命周期的说明,请参见此图:http: //developer.android.com/reference/android/app/Activity.html#ActivityLifecycle
覆盖活动中的适当方法以跟踪它何时失去/重新获得焦点。
如果您想维护用户登录会话,那么我们可以使用处理程序来执行此操作,而不是在所有活动中拥有偏好。