public abstract class CookieManager
extends Object
java.lang.Object | |
↳ | android.webkit.CookieManager |
管理应用程序WebView
实例使用的Cookie。 Cookies根据RFC2109进行操作。
Public constructors |
|
---|---|
CookieManager() |
Public methods |
|
---|---|
abstract boolean |
acceptCookie() 获取应用程序的 |
abstract boolean |
acceptThirdPartyCookies(WebView webview) 获取 |
static boolean |
allowFileSchemeCookies() 获取应用程序的 |
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中已弃用。请改为使用 |
abstract void |
removeAllCookies(ValueCallback<Boolean> callback) 删除所有Cookie。 |
abstract void |
removeExpiredCookie() 此方法在API级别21中已弃用.WebView会自动处理过期的Cookie。 |
abstract void |
removeSessionCookie() 此方法在API级别21中已弃用。 |
abstract void |
removeSessionCookies(ValueCallback<Boolean> callback) 删除所有会话Cookie,即没有过期日期的Cookie。 |
abstract void |
setAcceptCookie(boolean accept) 设置应用程序的 |
static void |
setAcceptFileSchemeCookies(boolean accept) 设置应用程序的 |
abstract void |
setAcceptThirdPartyCookies(WebView webview, boolean accept) 设置 |
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
|
boolean acceptCookie ()
获取应用程序的 WebView
实例是否发送和接受cookie。
Returns | |
---|---|
boolean |
true if WebView instances send and accept cookies |
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 |
boolean allowFileSchemeCookies ()
获取应用程序的 WebView
实例是否发送和接受文件系统URL的Cookie。
Returns | |
---|---|
boolean |
true if WebView instances send and accept cookies for file scheme URLs |
void flush ()
确保通过getCookie API当前可访问的所有Cookie都写入永久存储。 这个调用将阻止调用者,直到它完成并且可以执行I / O。
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 |
CookieManager getInstance ()
获取单例CookieManager实例。
Returns | |
---|---|
CookieManager |
the singleton CookieManager instance |
boolean hasCookies ()
获取是否存储了Cookie。
Returns | |
---|---|
boolean |
true if there are stored cookies |
void removeAllCookie ()
此方法在API级别21中已弃用。
改为使用removeAllCookies(ValueCallback)
。
删除所有Cookie。
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 |
void removeExpiredCookie ()
此方法在API级别21中已弃用。
WebView自动处理过期的cookies。
删除所有过期的Cookie。
void removeSessionCookie ()
此方法在API级别21中已弃用。
改为使用removeSessionCookies(ValueCallback)
。
删除所有会话Cookie,即没有过期日期的Cookie。
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 |
void setAcceptCookie (boolean accept)
设置应用程序的WebView
实例是否应发送并接受cookie。 默认情况下,它被设置为true,并且WebView接受cookie。
如果这是真的, setAcceptFileSchemeCookies
可以使用 setAcceptThirdPartyCookies
和 setAcceptFileSchemeCookies
来控制这些特定类型cookie的策略。
Parameters | |
---|---|
accept |
boolean : whether WebView instances should send and accept cookies |
void setAcceptFileSchemeCookies (boolean accept)
设置应用程序的WebView
实例是否应发送和接受文件系统URL的Cookie。 对文件方案URL使用cookie可能不安全,并且默认关闭。 除非您确定不会无意共享Cookie数据,否则请勿使用此功能。
请注意,如果在创建 WebView
或CookieManager实例之后调用此方法将不起作用。
Parameters | |
---|---|
accept |
boolean
|
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 |
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 |
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 |
Object clone ()
创建并返回此对象的副本。 “复制”的确切含义可能取决于对象的类别。 一般意图是,对于任何对象x
,表达式:
will be true, and that the expression:x.clone() != x
will bex.clone().getClass() == x.getClass()
true
, but these are not absolute requirements. While it is typically the case that:
will bex.clone().equals(x)
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 |