我在 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)
方法添加标头;但它仍然不起作用。有没有办法做到这一点?
请尝试这个
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();
}
CookieSyncManager 现已弃用,改为使用 cookieManager.flush();更新。 请参阅:http://developer.android.com/intl/es/reference/android/webkit/CookieSyncManager.html