Android CookieSyncManager

时间:2012-07-17 01:47:47

标签: java android http cookies

我们使用时,cookie是否一直存在?即使手机重启后,Cookie仍然可用吗?我指的是这个链接:http://developer.android.com/reference/android/webkit/CookieSyncManager.html

假设我们正在使用DefaultHttpClient,CookieSyncManager会知道抓取cookie还是还有其他命令,那么链接中的那些命令仍然需要引发?我们如何取回饼干?

2 个答案:

答案 0 :(得分:1)

根据Cookies & Webview - CookieSyncManager in Android!,似乎CookieSyncManager使用android的内置webview:

CookieSyncManager.createInstance(webview.this);

因此,如果他们的应用程序不基于webview,则不会使用此内容。

答案 1 :(得分:1)

尝试设置CookieSyncManager.getInstance()。sync();在“onPageFinished”方法中,这对我来说就像一个魅力,即使在重新启动时它也会对cookie进行处理:)

这里是代码:

public void onCreate(Bundle savedInstanceState) {   
CookieSyncManager.createInstance(web.getContext());
        web = new WebView(this);  
        web.getSettings().setJavaScriptEnabled(true);
    web.loadUrl(url);
        web.setWebViewClient(new myWebClient());
...

}

公共类myWebClient扩展了WebViewClient     {         @覆盖         public void onPageStarted(WebView视图,String url,Bitmap favicon){             // TODO自动生成的方法存根             super.onPageStarted(view,url,favicon);         }

    @Override
    public void onPageFinished(WebView view, String url) {
        super.onPageFinished(view, url);
        CookieSyncManager.getInstance().sync();
    }
}