本文整理匯總了Java中android.webkit.CookieSyncManager.getInstance方法的典型用法代碼示例。如果您正苦於以下問題:Java CookieSyncManager.getInstance方法的具體用法?Java CookieSyncManager.getInstance怎麽用?Java CookieSyncManager.getInstance使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類android.webkit.CookieSyncManager
的用法示例。
在下文中一共展示了CookieSyncManager.getInstance方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: addCookie
import android.webkit.CookieSyncManager; //導入方法依賴的package包/類
public void addCookie(Cookie c, boolean addToWebViewCookieManager, boolean sync) {
if(addToWebViewCookieManager) {
CookieManager mgr;
CookieSyncManager syncer;
try {
syncer = CookieSyncManager.getInstance();
mgr = getCookieManager();
} catch(IllegalStateException ex) {
syncer = CookieSyncManager.createInstance(this.getContext());
mgr = getCookieManager();
}
java.text.SimpleDateFormat format = new java.text.SimpleDateFormat("EEE, dd-MMM-yyyy HH:mm:ss z");
format.setTimeZone(TimeZone.getTimeZone("GMT"));
String cookieString = c.getName()+"="+c.getValue()+
"; Domain="+c.getDomain()+
"; Path="+c.getPath()+
"; "+(c.isSecure()?"Secure;":"")
+(c.isHttpOnly()?"httpOnly;":"")
+ (c.getExpires() != 0 ? ("Expires="+format.format(new Date(c.getExpires()))+";") : "")
;
mgr.setCookie("http"+
(c.isSecure()?"s":"")+"://"+
c.getDomain()+
c.getPath(), cookieString);
if(sync) {
syncer.sync();
}
}
super.addCookie(c);
}
示例2: httpCookieSync
import android.webkit.CookieSyncManager; //導入方法依賴的package包/類
/**
* Synchronize the uuid2 cookie to the Webview Cookie Jar
* This is only done if there is no present cookie.
*
* @param headers headers to extract cookies from for syncing
*/
@SuppressWarnings("deprecation")
private void httpCookieSync(Map<String, List<String>> headers) {
if (headers == null || headers.isEmpty()) return;
CookieManager cm = CookieManager.getInstance();
if (cm == null) {
LogUtil.i(Settings.TAG, "Unable to find a CookieManager");
return;
}
try {
String existingUUID = getExistingCookie();
for (Map.Entry<String, List<String>> entry : headers.entrySet()) {
String key = entry.getKey();
// Only "Set-cookie" and "Set-cookie2" pair will be parsed
if (key != null && (key.equalsIgnoreCase(Settings.VERSION_ZERO_HEADER)
|| key.equalsIgnoreCase(Settings.VERSION_ONE_HEADER))) {
for (String cookieStr : entry.getValue()) {
if (!TextUtils.isEmpty(cookieStr) && cookieStr.contains(Settings.AN_UUID)) {
// pass uuid2 to WebView Cookie jar if it's empty or outdated
if (existingUUID == null || !cookieStr.contains(existingUUID)) {
cm.setCookie(Settings.COOKIE_DOMAIN, cookieStr);
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
// CookieSyncManager is deprecated in API 21 Lollipop
CookieSyncManager.createInstance(context);
CookieSyncManager csm = CookieSyncManager.getInstance();
if (csm == null) {
LogUtil.i(Settings.TAG, "Unable to find a CookieSyncManager");
return;
}
csm.sync();
} else {
cm.flush();
}
}
}
}
}
}
} catch (IllegalStateException ise) {
} catch (Exception e) {
}
}
示例3: setAcceptCookie
import android.webkit.CookieSyncManager; //導入方法依賴的package包/類
@Override
public void setAcceptCookie(Context context, boolean accept) {
CookieSyncManager.getInstance();
CookieManager.getInstance().setAcceptCookie(accept);
}