【问题标题】:Android saves session cookies between application launches -- Is this expected?Android 在应用程序启动之间保存会话 cookie -- 这是预期的吗?
【发布时间】:2014-03-11 03:23:03
【问题描述】:

我在 Web 视图中有一个使用会话 cookie 的应用程序。 (关闭浏览器时删除的 Cookie)。如果我登录到我的 Web 应用程序,然后终止我的 Android 应用程序,然后再次加载 url,会话 cookie 仍然存在。这不是我所期望的。这是已知行为吗?

这是我的代码:

protected void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);
    String storeUrl = intent.getStringExtra("storeUrl");
    this.webView = (WebView)findViewById(R.id.webView);     
    webView.getSettings().setJavaScriptEnabled(true);
    webView.setWebViewClient(new WebViewClient()
    {
        public void onPageFinished(WebView view, String url)
        {

        }
    });
    webView.loadUrl(storeUrl);  
}

【问题讨论】:

  • 请定义“杀死我的应用程序”。
  • 我打开正在运行的应用程序屏幕并滑动它

标签: android session cookies


【解决方案1】:

Afaik,Android 将 cookie 存储在 RAM 中

CookieSyncManager 用于在 RAM 和永久存储之间同步浏览器 cookie 存储。为了获得最佳性能,浏览器 cookie 保存在 RAM 中

您可以以编程方式清除会话 cookie,放置此 onBackPressed 方法,以便当您离开应用程序时,它会清除会话 cookie。

CookieManager cm = CookieManager.getInstance(this);
cm.removeSessionCookie();

http://developer.android.com/reference/android/webkit/CookieManager.html#removeSessionCookie()

【讨论】:

  • 我要问的是会话 cookie 如何在应用启动之间持续存在?
  • Cookie 保留在 RAM 中,直到您清除 RAM 或以编程方式清除它。当您关闭应用或重新启动时,它不会清除。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-12
  • 1970-01-01
相关资源
最近更新 更多