如果在服务中初始化了一个对象,那么当服务在后台运行时,它会保持初始化状态

时间:2014-07-26 04:39:16

标签: android session httpclient androidhttpclient

我正在创建一个Login Logout android应用程序,在这个应用程序中我正在与服务器进行交互,当我登录DefaultHttpClient对象时,初始化并使用用户的登录,DefaultHttpClient与该用户关联,并且会话正在运行服务器,直到应用程序在其初始化的前面运行。但是一旦我销毁应用程序,新的DefaultHttpClient对象就会被初始化,因此它与先前的登录没有关联,但是服务器上的会话仍然在运行,因为我还没有注销。 请帮助即使应用程序被销毁,如何保持登录会话的运行。

1 个答案:

答案 0 :(得分:1)

非常好点。

首先我们清除会话的使用。会话在服务器上创建,该服务器在某个特定时间有效,并由服务器设置。

因此,不是您离开应用程序会话已过期。即使你正在运行应用程序,如果会话时间结束,它将无法正常工作。

要解决此问题,您需要在应用中实现自动登录功能。

例如,您调用Web服务并返回一些响应以及一些代码。

response : {"code" : "200","message" : "log-in successfully"}

但是当会话过期时,服务器应该返回一些特定代码而不是200。

response : {"code" : "704","message" : "session expire"}.

因此您需要检查您的响应代码,如果它再次为704以进行呼叫登录服务,并在后台启动新会话。

为此,您需要在用户输入的共享偏好中存储登录服务参数。