上下文
$cookies.put()
问题:
在Android上,如果用户在调用$cookies.put()
后30秒内终止应用程序,则cookie将在下次重新启动时消失。
如果用户等待超过30秒(如35秒或更长时间),一切正常。
问题:
我们如何强制立即保存cookie(或至少更快)?
备注:
答案 0 :(得分:3)
我遇到了同样的问题并制作了一个小插件(仍在进行中)以解决这个问题。
它公开了flush方法,它将cookie修改(put和remove)应用于持久性内存。
link to cordova-plugin-cookie-manager
随意贡献。
答案 1 :(得分:1)
android中的CookieManager设计使其难以实现。
webview
和cookiemanager
包含自己的in_memory
数据库并且彼此同步,因此无需同步这两个数据库。
removeSessionCookie
不提供回调或任何方式来完成,因为此方法已在WebView
经典版本中实施。
以下是一些解决方案,您可以在HttpUrlCookieManager
和android webkit cookie manager
之间同步
此处需要注意的另一件事是,当您使用$cookie.put()
时,它会将cookies
与其他HTTP标头一起发送到客户端,但是如果您使用third party api's
来得到cookies
它可能不再包含来自client
的cookie,这可能会导致不必要的副作用。
您可以参考此处的作者建议的链接 - author' post以下是定义Cookie link here
时要使用的协议的链接这是我偶然发现的另一个链接,可能会有所帮助
或者使用webview
和HttpUrlConnection
的相同存储库/数据库,您可以创建自己的处理程序,如以下堆栈线程Stack thread
希望它可能对你有所帮助。