如何在Android WebView中设置cookie

时间:2013-05-29 06:53:13

标签: android android-webview android-websettings

我在Android WebView中设置cookie时遇到问题。我使用以下代码:

CookieSyncManager.createInstance(this); 
CookieManager cookieManager = CookieManager.getInstance(); 
cookieManager.removeAllCookie();    
cookieManager.setAcceptCookie(true);
cookieManager.setCookie(url, cookie); 
CookieSyncManager.getInstance().sync();

但它不起作用。我还尝试使用WebView的loadUrl(String url, Map<String, String> additionalHttpHeaders)方法添加标题;但它仍然不起作用。有没有办法做到这一点?

2 个答案:

答案 0 :(得分:0)

请试试这个

Cookie sessionCookie = LoginWebView.cookie;
CookieSyncManager.createInstance(webview.this);
CookieManager cookieManager = CookieManager.getInstance();
if (sessionCookie != null) {
    cookieManager.removeSessionCookie();
    String cookieString = sessionCookie.getName();
    Log.v(TAG, "sync cookies: " + cookieString);
    cookieManager.setCookie(domain, cookieString);
    CookieSyncManager.getInstance().sync();
}

答案 1 :(得分:0)

现在不推荐使用CookieSyncManager,而是使用cookieManager.flush();更新。 请参阅:http://developer.android.com/intl/es/reference/android/webkit/CookieSyncManager.html