gpt4 book ai didi

java - 当您关闭应用程序时,CookieManager 会丢失 cookie 吗?

转载 作者:太空狗 更新时间:2023-10-29 14:51:57 26 4
gpt4 key购买 nike

我正在开发一个与服务器通信并具有登录屏幕的应用程序。我正在使用 httpconnection 与服务器通信(服务器发送回 Json 响应)。我的登录屏幕发送电子邮件和密码,由服务器验证 - 服务器发送 cookie 并期望 cookie 与每个进一步的请求一起知道用户已登录。

我正在使用 Cookiemanager 和 cookie 处理程序来启用 session ,这样用户只需登录一次。

在我的主 Activity 中使用以下 2 个命令(在 Create 方法上)

CookieManager cookieManager = new CookieManager();
CookieHandler.setDefault(cookieManager);

工作模型是我的主要 Activity 向服务器发送一个读取命令,它检查用户是否已经登录(期望里面有 id 的 cookie),并在 json 中发送状态。如果状态为 0,则移至登录 Activity ,否则移至主屏幕。

在登录 Activity 中,我发送带有用户名和密码的登录命令,服务器发送一个 cookie(发送一个唯一的 id,它交叉检查任何进一步的请求以验证用户)返回 json 响应。

登录后,我转到主屏幕并阅读状态,因为我在主 Activity 中创建了 CookieManager,它会自动发送带有每个 httprequest 的 cookie。

问题是——当我退出应用程序并在登录后返回时..它再次从主要 Activity 开始并转到登录屏幕而不是主屏幕。我无法弄清楚为什么会这样,以及如何让我的用户登录一次,之后即使他退出应用程序,它也会保留 cookie。

我认为 CookieManager 即使在您退出后也会保留 cookie。是不是因为我在 create 方法中创建了 cookie Manager 对象,当应用程序退出并重新启动时它再次创建了新对象?或者我的假设是错误的。

最佳答案

默认情况下,new CookieManager() 会将 cookie 存储在内存中

但是您可以使用不同的构造函数来更改此行为: CookieManager(CookieStore store, CookiePolicy cookiePolicy) .

至少有几个持久性 java.net.CookieStore实现:

关于java - 当您关闭应用程序时,CookieManager 会丢失 cookie 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34558687/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com