Android APIs
public final class

CookieSyncManager

extends Object
implements Runnable
java.lang.Object
   ↳ android.webkit.CookieSyncManager

This class was deprecated in API level 21.
The WebView now automatically syncs cookies as necessary. You no longer need to create or use the CookieSyncManager. To manually force a sync you can use the CookieManager method flush() which is a synchronous replacement for sync().

Class Overview

The CookieSyncManager is used to synchronize the browser cookie store between RAM and permanent storage. To get the best performance, browser cookies are saved in RAM. A separate thread saves the cookies between, driven by a timer.

To use the CookieSyncManager, the host application has to call the following when the application starts:

CookieSyncManager.createInstance(context)

To set up for sync, the host application has to call

CookieSyncManager.getInstance().startSync()

in Activity.onResume(), and call

 CookieSyncManager.getInstance().stopSync()
 

in Activity.onPause().

To get instant sync instead of waiting for the timer to trigger, the host can call

CookieSyncManager.getInstance().sync()

The sync interval is 5 minutes, so you will want to force syncs manually anyway, for instance in onPageFinished(WebView, String). Note that even sync() happens asynchronously, so don't do it just as your activity is shutting down.

Summary

Constants
String LOGTAG
Fields
protected WebViewDatabase mDataBase
protected Handler mHandler
Public Methods
synchronized static CookieSyncManager createInstance(Context context)
Create a singleton CookieSyncManager within a context
synchronized static CookieSyncManager getInstance()
Singleton access to a CookieSyncManager.
void resetSync()
This method is deprecated. Calling resetSync is no longer necessary as the WebView automatically syncs cookies.
void run()
Starts executing the active part of the class' code.
void startSync()
This method is deprecated. Calling startSync is no longer necessary as the WebView automatically syncs cookies.
void stopSync()
This method is deprecated. Calling stopSync is no longer useful as the WebView automatically syncs cookies.
void sync()
This method is deprecated. Use flush() instead.
Protected Methods
Object clone()
Creates and returns a copy of this Object.
void onSyncInit()
void syncFromRamToFlash()
[Expand]
Inherited Methods
From class java.lang.Object
From interface java.lang.Runnable

Constants

protected static final String LOGTAG

Added in API level 21

Constant Value: "websync"

Fields

protected WebViewDatabase mDataBase

Added in API level 21

protected Handler mHandler

Added in API level 21

Public Methods

public static synchronized CookieSyncManager createInstance (Context context)

Added in API level 1

Create a singleton CookieSyncManager within a context

Returns
  • CookieSyncManager

public static synchronized CookieSyncManager getInstance ()

Added in API level 1

Singleton access to a CookieSyncManager. An IllegalStateException will be thrown if createInstance(Context) is not called before.

Returns
  • CookieSyncManager

public void resetSync ()

Added in API level 1

This method is deprecated.
Calling resetSync is no longer necessary as the WebView automatically syncs cookies.

resetSync() resets sync manager's timer.

public void run ()

Added in API level 1

Starts executing the active part of the class' code. This method is called when a thread is started that has been created with a class which implements Runnable.

public void startSync ()

Added in API level 1

This method is deprecated.
Calling startSync is no longer necessary as the WebView automatically syncs cookies.

startSync() requests sync manager to start sync.

public void stopSync ()

Added in API level 1

This method is deprecated.
Calling stopSync is no longer useful as the WebView automatically syncs cookies.

stopSync() requests sync manager to stop sync. remove any SYNC_MESSAGE in the queue to break the sync loop

public void sync ()

Added in API level 1

This method is deprecated.
Use flush() instead.

sync() forces sync manager to sync now

Protected Methods

protected Object clone ()

Added in API level 1

Creates and returns a copy of this Object. The default implementation returns a so-called "shallow" copy: It creates a new instance of the same class and then copies the field values (including object references) from this instance to the new instance. A "deep" copy, in contrast, would also recursively clone nested objects. A subclass that needs to implement this kind of cloning should call super.clone() to create the new instance and then create deep copies of the nested, mutable objects.

Returns
  • a copy of this object.

protected void onSyncInit ()

Added in API level 1

protected void syncFromRamToFlash ()

Added in API level 1

This method was deprecated in API level 21.
Use flush() instead.