to top
Android APIs
public final class

CookieSyncManager

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

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()
resetSync() resets sync manager's timer
void run()
Starts executing the active part of the class' code.
void startSync()
startSync() requests sync manager to start sync
void stopSync()
stopSync() requests sync manager to stop sync.
void sync()
sync() forces sync manager to sync now
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

Constant Value: "websync"

Fields

protected WebViewDatabase mDataBase

protected Handler mHandler

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

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

startSync() requests sync manager to start sync

public void stopSync ()

Added in API level 1

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

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