Most visited

Recently visited

Added in API level 1

CookieManager

public abstract class CookieManager
extends Object

java.lang.Object
   ↳ android.webkit.CookieManager


管理应用程序WebView实例使用的Cookie。 Cookies根据RFC2109进行操作。

Summary

Public constructors

CookieManager()

Public methods

abstract boolean acceptCookie()

获取应用程序的 WebView实例是否发送并接受cookie。

abstract boolean acceptThirdPartyCookies(WebView webview)

获取 WebView是否应允许设置第三方Cookie。

static boolean allowFileSchemeCookies()

获取应用程序的 WebView实例是否发送和接受文件方案URL的Cookie。

abstract void flush()

确保通过getCookie API当前可访问的所有Cookie都写入永久存储。

abstract String getCookie(String url)

获取给定URL的cookie。

static CookieManager getInstance()

获取单例CookieManager实例。

abstract boolean hasCookies()

获取是否存储了Cookie。

abstract void removeAllCookie()

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

abstract void removeAllCookies(ValueCallback<Boolean> callback)

删除所有Cookie。

abstract void removeExpiredCookie()

此方法在API级别21中已弃用.WebView会自动处理过期的Cookie。

abstract void removeSessionCookie()

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

abstract void removeSessionCookies(ValueCallback<Boolean> callback)

删除所有会话Cookie,即没有过期日期的Cookie。

abstract void setAcceptCookie(boolean accept)

设置应用程序的 WebView实例是否应发送并接受cookie。

static void setAcceptFileSchemeCookies(boolean accept)

设置应用程序的 WebView实例是否应发送和接受文件方案URL的Cookie。

abstract void setAcceptThirdPartyCookies(WebView webview, boolean accept)

设置 WebView是否应允许设置第三方Cookie。

abstract void setCookie(String url, String value, ValueCallback<Boolean> callback)

为给定的URL设置一个cookie。

abstract void setCookie(String url, String value)

为给定的URL设置一个cookie。

Protected methods

Object clone()

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

Inherited methods

From class java.lang.Object

Public constructors

CookieManager

Added in API level 22
CookieManager ()

Public methods

acceptCookie

Added in API level 1
boolean acceptCookie ()

获取应用程序的 WebView实例是否发送和接受cookie。

Returns
boolean true if WebView instances send and accept cookies

acceptThirdPartyCookies

Added in API level 21
boolean acceptThirdPartyCookies (WebView webview)

获取 WebView是否应允许设置第三方Cookie。

Parameters
webview WebView: the WebView instance to get the cookie policy for
Returns
boolean true if the WebView accepts third party cookies

allowFileSchemeCookies

Added in API level 12
boolean allowFileSchemeCookies ()

获取应用程序的 WebView实例是否发送和接受文件系统URL的Cookie。

Returns
boolean true if WebView instances send and accept cookies for file scheme URLs

flush

Added in API level 21
void flush ()

确保通过getCookie API当前可访问的所有Cookie都写入永久存储。 这个调用将阻止调用者,直到它完成并且可以执行I / O。

getCookie

Added in API level 1
String getCookie (String url)

获取给定URL的cookie。

Parameters
url String: the URL for which the cookies are requested
Returns
String value the cookies as a string, using the format of the 'Cookie' HTTP request header

getInstance

Added in API level 1
CookieManager getInstance ()

获取单例CookieManager实例。

Returns
CookieManager the singleton CookieManager instance

hasCookies

Added in API level 1
boolean hasCookies ()

获取是否存储了Cookie。

Returns
boolean true if there are stored cookies

removeAllCookie

Added in API level 1
void removeAllCookie ()

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

删除所有Cookie。

removeAllCookies

Added in API level 21
void removeAllCookies (ValueCallback<Boolean> callback)

删除所有Cookie。

这种方法是异步的。 如果ValueCallback提供, onReceiveValue()将在当前线程的调用Looper一次操作完成。 提供给回调的值指示是否删除了任何Cookie。 如果您不需要知道操作何时完成或是否删除了任何Cookie,则可以传递null作为回调,并且在这种情况下可以安全地从没有Looper的线程调用该方法。

Parameters
callback ValueCallback: a callback which is executed when the cookies have been removed

removeExpiredCookie

Added in API level 1
void removeExpiredCookie ()

此方法在API级别21中已弃用。
WebView自动处理过期的cookies。

删除所有过期的Cookie。

removeSessionCookie

Added in API level 1
void removeSessionCookie ()

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

删除所有会话Cookie,即没有过期日期的Cookie。

removeSessionCookies

Added in API level 21
void removeSessionCookies (ValueCallback<Boolean> callback)

删除所有会话Cookie,即没有过期日期的Cookie。

这种方法是异步的。 如果ValueCallback提供, onReceiveValue()将在当前线程的调用Looper一次操作完成。 提供给回调的值指示是否删除了任何Cookie。 如果您不需要知道操作何时完成或是否删除了任何cookie,则可以传递null作为回调,并且在这种情况下可以安全地从没有Looper的线程调用该方法。

Parameters
callback ValueCallback: a callback which is executed when the session cookies have been removed

setAcceptCookie

Added in API level 1
void setAcceptCookie (boolean accept)

设置应用程序的WebView实例是否应发送并接受cookie。 默认情况下,它被设置为true,并且WebView接受cookie。

如果这是真的, setAcceptFileSchemeCookies可以使用 setAcceptThirdPartyCookiessetAcceptFileSchemeCookies来控制这些特定类型cookie的策略。

Parameters
accept boolean: whether WebView instances should send and accept cookies

setAcceptFileSchemeCookies

Added in API level 12
void setAcceptFileSchemeCookies (boolean accept)

设置应用程序的WebView实例是否应发送和接受文件系统URL的Cookie。 对文件方案URL使用cookie可能不安全,并且默认关闭。 除非您确定不会无意共享Cookie数据,否则请勿使用此功能。

请注意,如果在创建 WebView或CookieManager实例之后调用此方法将不起作用。

Parameters
accept boolean

setAcceptThirdPartyCookies

Added in API level 21
void setAcceptThirdPartyCookies (WebView webview, 
                boolean accept)

设置WebView是否应允许设置第三方Cookie。 允许第三方Cookie是根据WebView策略设置的,并且可以在不同的WebView实例上设置不同的设置。

KITKAT或更低为目标的应用默认允许第三方Cookie。 定位LOLLIPOP或更高版本的应用默认为禁止第三方Cookie。

Parameters
webview WebView: the WebView instance to set the cookie policy on
accept boolean: whether the WebView instance should accept third party cookies

setCookie

Added in API level 21
void setCookie (String url, 
                String value, 
                ValueCallback<Boolean> callback)

为给定的URL设置一个cookie。 任何具有相同主机,路径和名称的现有cookie都将被替换为新的cookie。 如果设置的cookie过期,它将被忽略。

这种方法是异步的。 如果ValueCallback提供, onReceiveValue()将在当前线程的调用Looper一次操作完成。 提供给回调的值指示cookie是否设置成功。 如果您不需要知道操作何时完成或是否成功,则可以传递null作为回调,在这种情况下,可以安全地从没有Looper的线程调用方法。

Parameters
url String: the URL for which the cookie is to be set
value String: the cookie as a string, using the format of the 'Set-Cookie' HTTP response header
callback ValueCallback: a callback to be executed when the cookie has been set

setCookie

Added in API level 1
void setCookie (String url, 
                String value)

为给定的URL设置一个cookie。 任何具有相同主机,路径和名称的现有cookie都将被替换为新的cookie。 如果设置的cookie过期,它将被忽略。

Parameters
url String: the URL for which the cookie is to be set
value String: the cookie as a string, using the format of the 'Set-Cookie' HTTP response header

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

Hooray!