【问题标题】:Android - Keep session alive until it is closed (until user logout)Android - 保持会话活动直到它关闭(直到用户注销)
【发布时间】:2014-03-20 07:40:10
【问题描述】:

我正在按如下方式创建 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。如何做到这一点?

流程是这样的:

应用打开 -> 用户登录 -> ...一些操作... -> 用户在未注销的情况下关闭应用

现在如果用户重新打开应用程序,我应该可以连接到 http 客户端.. 如何处理?

【问题讨论】:

    标签: android session cookies httpclient


    【解决方案1】:

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

    【讨论】:

    • 好的,你只需要验证你的请求。存储身份验证 cookie 或访问令牌,因此将在应用程序启动时创建新连接,但用户不必再次执行登录。 stackoverflow.com/questions/678630/…stackoverflow.com/questions/8954569/…
    • 谢谢.. 但我不明白如何使用 HttpClient 和 CookieStore。还有其他方法吗?
    • 我在所有活动中都使用这个 httpclient 作为 ApplicationClass ac=(ApplicationClass)getApplication(); ac.hc;
    猜你喜欢
    • 2011-09-01
    • 2016-07-13
    • 2018-03-03
    • 2011-08-28
    • 2012-12-09
    • 2017-04-07
    • 1970-01-01
    • 2018-10-31
    • 2016-05-20
    相关资源
    最近更新 更多