Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/207.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在关闭应用程序而不注销android后管理会话_Android_Facebook Android Sdk - Fatal编程技术网

在关闭应用程序而不注销android后管理会话

在关闭应用程序而不注销android后管理会话,android,facebook-android-sdk,Android,Facebook Android Sdk,如何在Android中维护会话。例如,在我的应用程序中,用户可以使用普通登录或Facebook登录。使用应用程序后,用户可以通过注销会话来关闭应用程序,也可以不注销而直接关闭应用程序。这样用户就可以在下次不登录的情况下进入主屏幕 当我的应用程序在未注销会话的情况下关闭,并在两天后打开时,用户会话将丢失,我的应用程序将崩溃。当它正确注销并打开后,应用程序工作正常。如何在未注销的情况下管理关闭的会话?首先,您可以使用共享首选项存储用户信息,以便下次它不会要求登录。以及您的下一个问题处理课程。所以,在

如何在Android中维护会话。例如,在我的应用程序中,用户可以使用普通登录或Facebook登录。使用应用程序后,用户可以通过注销会话来关闭应用程序,也可以不注销而直接关闭应用程序。这样用户就可以在下次不登录的情况下进入主屏幕


当我的应用程序在未注销会话的情况下关闭,并在两天后打开时,用户会话将丢失,我的应用程序将崩溃。当它正确注销并打开后,应用程序工作正常。如何在未注销的情况下管理关闭的会话?

首先,您可以使用共享首选项存储用户信息,以便下次它不会要求登录。以及您的下一个问题处理课程。所以,在服务器端,您在特定时间段后销毁会话。你可以用时间戳来做什么。在我的例子中,我是这样使用它的:我的服务器在3小时后自动销毁会话。所以,当用户登录到我的应用程序时,我会为此保存时间戳。下次我检查时间戳是否过期。如果已过期,则首先代表用户在后台调用登录。所以服务器将为用户创建新会话

您可以在
SharedReferences
中维护它。查找您的引用

例如,要保存用户名、密码和会话ID,您可以:

 SharedPreferences pref = context.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 = context.getSharedPreferences("Session Data", MODE_PRIVATE);
 username = pref.getString("User Name", "");
 password = pref.getString("Password", "");
 session_id = pref.getInt("Session ID", 0);