我有一个Android应用程序,它通过WebView和HttpClient向我的Web服务器发出请求.我使用CookieSyncManager在两者之间同步cookie.到现在为止还挺好.
当我的应用程序启动时(在onResume()内),我运行一个类似于以下的逻辑:
if ( appHasBeenIdleFor30Minutes() ) {
CookieManager cookieManager = CookieManager.getInstance();
cookieManager.removeSessionCookie();
CookieSyncManager.getInstance().sync();
}
Run Code Online (Sandbox Code Playgroud)
这会正确重置从用户上一个会话中设置的任何会话cookie.我的问题是:这种行为是否会定期发生?这个问题(android webview或浏览器不会在设备重启时删除会话cookie)似乎表明它没有.当我通过服务使用cookie-sync'd HttpClient时,会显示会话cookie未被清除,从而导致奇怪的服务器端行为.
我一直无法在WebView/CookieSyncManager中找到关于会话cookie生命周期(到期时间= 0)的具体文档 - 还有其他人有更多运气吗?