2012-11-26 45 views
0

我使用以下代碼來檢查Andriod版本並相應地設置域。無法爲Android版本17上的webview設置Cookie

domain = "domain.com"; 
int androidVersion = android.os.Build.VERSION.SDK_INT; 
Log.d(TAG, "Android version" +androidVersion); 
if(androidVersion >= 14){ 
    Log.d(TAG, "version is greater than 14"); 
    domain = ".domain.com"; 
} 

並設置cookie。我使用下面的代碼:

CookieManager cookieManager = CookieManager.getInstance(); 
if(!cookie.equals("")){ 
    cookieManager.setCookie(domain, cookie); 
} 
try{ 
    CookieSyncManager.getInstance().sync(); 
}catch(IllegalStateException e){ 
    e.printStackTrace(); 
} 

此代碼適用於小於17的版本。當我檢查剛設置在JavaScript上的cookie。我沒有看到它在Android 17版。 任何幫助將不勝感激。

感謝

+0

你有沒有在你的代碼中使用'cookieManager.removeSessionCookie();'? – Darpan

回答

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(); 

}