關於android webview 設置cookie的問題


轉自:http://blog.csdn.net/encienqi/article/details/7912733

 

我們在android中訪問網絡經常會用到Apache的HttpClient,用此類去訪問網絡獲取數據, 

但是在寫android界面的時候又時不時的會用到一些WebView組件,這時候訪問一個以經登錄的頁面的時候cookie設置就有個問題 

在HttpClient中保存下來的Cookie怎么設置到WebView組件里,讓WebView也保持住Cookie狀態,也就是登錄狀態呢? 

CookieSyncManager和CookieManager就是做這種事的,下面來看代碼里怎么設置Cookie讓WebView也保持登錄狀態: 

Java代碼   收藏代碼
  1. /** 
  2.  * 同步一下cookie 
  3.  */  
  4. public static void synCookies(Context context, String url) {  
  5.     CookieSyncManager.createInstance(context);  
  6.     CookieManager cookieManager = CookieManager.getInstance();  
  7.     cookieManager.setAcceptCookie(true);  
  8.     cookieManager.removeSessionCookie();//移除  
  9.     cookieManager.setCookie(url, cookies);//cookies是在HttpClient中獲得的cookie  
  10.     CookieSyncManager.getInstance().sync();  
  11. }  


在android里面在調用webView.loadUrl(url)之前一句調用此方法就可以給WebView設置Cookie 

注:這里一定要注意一點,在調用設置Cookie之后不能再設置

Java代碼   收藏代碼
  1. webView.getSettings().setBuiltInZoomControls(true);  
  2. webView.getSettings().setJavaScriptEnabled(true);  


這類屬性,否則設置Cookie無效。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM