Android - 保持会话活动直到关闭(直到用户注销)

时间:2014-03-20 07:40:11

标签: android session cookies httpclient

我正在创建HttpClient,如下所示,并将它用于我的所有Posts和Gets方法。

HttpClient hc=createHttpClient();

public static HttpClient createClient() {
    HttpParams params = new BasicHttpParams();
    params.setParameter(CoreProtocolPNames.PROTOCOL_VERSION, HttpVersion.HTTP_1_1);
    params.setParameter(CoreProtocolPNames.HTTP_CONTENT_CHARSET,HTTP.DEFAULT_CONTENT_CHARSET);
    params.setBooleanParameter(CoreProtocolPNames.USE_EXPECT_CONTINUE, true);
    params.setParameter(CoreConnectionPNames.CONNECTION_TIMEOUT, 36 * 1000);
    params.setParameter(CoreConnectionPNames.SO_TIMEOUT, 40 * 1000);

    SchemeRegistry schReg = new SchemeRegistry();
    schReg.register(new Scheme("http", PlainSocketFactory.getSocketFactory(), 80));
    schReg.register(new Scheme("https", SSLSocketFactory.getSocketFactory(), 443));
    ClientConnectionManager conMgr = new ThreadSafeClientConnManager(params, schReg);

    return new DefaultHttpClient(conMgr, params);
}

我正在使用这个httpclient作为,,,

ApplicationClass ac =(ApplicationClass)getApplication(); ac.hc;

当应用程序打开时,此客户端工作正常。但是,当我从后台堆栈中删除应用程序时,我还想在重新打开时使用相同的httpclient。怎么做到这一点?

Flow就像。:

App open - >用户登录 - > ......一些操作...... - >用户关闭应用程序而不注销

现在如果用户重新打开应用程序,那么我应该能够与http客户端连接..如何处理这个?

1 个答案:

答案 0 :(得分:0)

如果您不希望系统停止,请将您的连接保持在Service,也可以在foreground中运行。但首先要确保您确实需要永久连接。