Most visited

Recently visited

Added in API level 1
Deprecated since API level 21

CookieSyncManager

public final class CookieSyncManager
extends Object implements Runnable

java.lang.Object
   ↳ android.webkit.CookieSyncManager


该类在API级别21中已被弃用。
WebView现在会根据需要自动同步Cookie。 您不再需要创建或使用CookieSyncManager。 要手动强制同步,您可以使用CookieManager方法flush() ,它是flush()的同步替代sync() 。

CookieSyncManager用于在RAM和永久存储之间同步浏览器Cookie存储。 为了获得最佳性能,浏览器cookie被保存在RAM中。 一个单独的线程在一个定时器的驱动下保存cookie。

要使用CookieSyncManager,主应用程序必须在应用程序启动时调用以下内容:

CookieSyncManager.createInstance(context)

要设置同步,主机应用程序必须调用

CookieSyncManager.getInstance().startSync()

在Activity.onResume()和调用

 CookieSyncManager.getInstance().stopSync()
 

在Activity.onPause()中。

要获得即时同步而不是等待定时器触发,主持人可以打电话

CookieSyncManager.getInstance().sync()

同步时间间隔为5分钟,因此无论如何您都需要手动强制同步,例如onPageFinished(WebView, String) 。 请注意,即使sync()也是异步发生的,所以不要在活动关闭的时候这样做。

Summary

Constants

String LOGTAG

Fields

protected WebViewDatabase mDataBase

protected Handler mHandler

Public methods

static CookieSyncManager createInstance(Context context)

在上下文中创建一个单例CookieSyncManager

static CookieSyncManager getInstance()

单身人士访问 CookieSyncManager 。

void resetSync()

此方法已弃用。 调用resetSync不再需要,因为WebView会自动同步Cookie。

void run()

当实现接口 Runnable的对象用于创建线程时,启动该线程将导致在该单独执行的线程中调用该对象的方法 run 。

void startSync()

此方法已弃用。 由于WebView会自动同步Cookie,因此不再需要调用startSync。

void stopSync()

此方法已弃用。 调用stopSync不再有用,因为WebView会自动同步Cookie。

void sync()

此方法已弃用。 改为使用flush() 。

Protected methods

Object clone()

创建并返回此对象的副本。

void onSyncInit()
void syncFromRamToFlash()

此方法在API级别21中已弃用。请改为使用flush() 。

Inherited methods

From class java.lang.Object
From interface java.lang.Runnable

Constants

LOGTAG

Added in API level 21
String LOGTAG

常量值:“websync”

Fields

mDataBase

Added in API level 21
WebViewDatabase mDataBase

mHandler

Added in API level 21
Handler mHandler

Public methods

createInstance

Added in API level 1
CookieSyncManager createInstance (Context context)

在上下文中创建一个单例CookieSyncManager

Returns
CookieSyncManager CookieSyncManager

getInstance

Added in API level 1
CookieSyncManager getInstance ()

单身人士访问CookieSyncManager 。 如果之前未调用createInstance(Context)则会抛出IllegalStateException异常。

Returns
CookieSyncManager CookieSyncManager

resetSync

Added in API level 1
void resetSync ()

此方法已弃用。
调用resetSync不再需要,因为WebView会自动同步Cookie。

resetSync()重置同步管理器的计时器。

run

Added in API level 1
void run ()

当实现接口 Runnable的对象用于创建线程时,启动该线程将导致该对象的 run方法在该单独执行的线程中被调用。

方法 run的总体合同是它可以采取任何行动。

startSync

Added in API level 1
void startSync ()

此方法已弃用。
由于WebView会自动同步Cookie,因此不再需要调用startSync。

startSync()请求同步管理器开始同步。

stopSync

Added in API level 1
void stopSync ()

此方法已弃用。
调用stopSync不再有用,因为WebView会自动同步Cookie。

stopSync()请求同步管理器停止同步。 删除队列中的任何SYNC_MESSAGE以中断同步循环

sync

Added in API level 1
void sync ()

此方法已弃用。
改为使用flush() 。

sync()强制同步管理器立即进行同步

Protected methods

clone

Added in API level 1
Object clone ()

创建并返回此对象的副本。 “复制”的确切含义可能取决于对象的类别。 一般意图是,对于任何对象x ,表达式:

 x.clone() != x
will be true, and that the expression:
 x.clone().getClass() == x.getClass()
will be true, but these are not absolute requirements. While it is typically the case that:
 x.clone().equals(x)
will be true, this is not an absolute requirement.

按照惯例,返回的对象应该通过调用super.clone获得。 如果一个类和它的所有超类( Object除外)都遵守这个约定,那将是这样的情况,即x.clone().getClass() == x.getClass() 。

按照惯例,这个方法返回的对象应该独立于这个对象(被克隆)。 为了实现这种独立性,可能需要在返回super.clone之前修改对象的一个或多个字段。 通常,这意味着复制包含被克隆对象的内部“深层结构”的任何可变对象,并将这些对象的引用替换为对这些副本的引用。 如果一个类仅包含原始字段或对不可变对象的引用,那么通常情况下不需要修改super.clone返回的对象中的字段。

类Object的方法clone执行特定的克隆操作。 首先,如果该对象的类没有实现接口Cloneable ,则引发CloneNotSupportedException 。 请注意,所有数组都被视为实现接口Cloneable并且数组类型T[]的clone方法的返回类型为T[] ,其中T是任何引用或基本类型。 否则,此方法创建该对象的类的新实例,并使用该对象的相应字段的内容来初始化其所有字段,就像通过赋值一样; 这些字段的内容本身并不克隆。 因此,此方法执行此对象的“浅拷贝”,而不是“深拷贝”操作。

类 Object本身并不实现接口 Cloneable ,所以在类 Object的对象上调用 clone方法将导致在运行时抛出异常。

Returns
Object a clone of this instance.
Throws
CloneNotSupportedException

onSyncInit

Added in API level 1
void onSyncInit ()

syncFromRamToFlash

Added in API level 1
void syncFromRamToFlash ()

此方法在API级别21中已弃用。
改为使用flush() 。

Hooray!