1. 程式人生 > >android webview裡設定cookie

android webview裡設定cookie

我們在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無效。

相關推薦

android webview設定cookie

我們在android中訪問網路經常會用到Apache的HttpClient,用此類去訪問網路獲取資料, 但是在寫android介面的時候又時不時的會用到一些WebView元件,這時候訪問一個以經登入的頁面的時候cookie設定就有個問題 在HttpClient中儲存下來的C

android-Webview設定多個cookie,實現webview中儲存登入資訊

方法:通過重複呼叫 cookieManager.setCookie(url,cookie1); 來儲存多個cookie。 程式碼: /** * Sync Cookie */ private void syncCookie(Context

Androidwebview設定cookie,部分cookie失效的問題

app主頁的頁面都是web開發的,只有登入頁是原生的,這就需要Android在呼叫了登入介面併成功後,把登入資訊作為cookie存起來。 網上有存cookie的方法: public void cookie(Context context,String url,String

Android Studio設定形狀

<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android">     <solid androi

Android Studio設定了按鈕,開發到手機上,點開按鈕,卻發現沒有跳到下一個介面,而是閃退的原因

如果你在介面設定了按鈕,開發到手機上,點開按鈕,卻發現沒有跳到下一個介面,而是閃退。 原因是因為你沒有在左圖的xml檔案裡把結果的目標activity這3行寫進去。寫進去之後再重新下載到手機上,就可以了。

Android Webview設定

一些基本設定 //載入本地html mWebView.loadUrl("網址"); //重新載入 點選網頁裡面的連結還是在當前的webview裡跳轉。不跳到瀏覽器那邊 mWebView.setWebViewClient(new Web

Android WebView ScrollBar設定

WebView wv; wv.setVerticalScrollBarEnabled(false);  取消Vertical ScrollBar顯示 wv.setHorizontalScrollBarEnabled(false); 取消Horizontal ScrollBa

關於android webviewHTML5的地理位置定位

在別的瀏覽器中開啟可以定位,在我自己的webview卻不能  主要程式碼如下://啟用資料庫 webSettings.setDatabaseEnabled(true); String dir = this.getApplicationContext().get

Android webview背景設定為透明無效 拖動時背景閃爍黑色

Adndroid 2.X的設定 webview是一個使用方便、功能強大的控制元件,但由於webview的背景顏色預設是白色,在一些場合下會顯得很突兀(比如背景是黑色)。 此時就想到了要把webview的背景設定為透明,這樣就可以與其背景融為一體。 在2.X的平臺下

android webviewHTML5的地理位置定位

//啟用資料庫 webSettings.setDatabaseEnabled(true); String dir = this.getApplicationContext().getDir("database", Context.MODE_PRIVATE).ge

Android webview設定cookiecookie丟失問題

Android頁面嵌套了一個h5,H5頁面內部有使用者登陸頁面,發現h5頁面的登陸功能無法使用,一直登陸失敗。和web那邊商量一會,發現js寫入的cookie丟失了。所有需要Android這邊在重寫寫入一次。 mWebView = view.findViewById(R

AndroidWebView設定Cookie

在網上搜索給WebView設定Cookie這個問題得到的回答都是以下這段程式碼: CookieSyncManager.createInstance(context); CookieManager cookieManager = CookieManager.

android webview 設定 Cookie

   一般用webview的時候都不會考慮Cookie問題,但是某些需求考慮到使用者登入問題,所以就得考慮給webview設定Cookie.    我用的實現方式是將Cookie存放到 HashMap 並 儲存到 SharedPreferences,然後再需要使用到的地方取出來使用 //儲存C

Android WebView Cookie的相關設定和自定義錯誤頁面載入

這個是WebView的後篇吧,一拖又不知道拖了多久了,言歸正傳,上一次大概翻譯了一些WebView的官方介紹,然後剩下了WebView的Cookie相關另外就是載入頁面錯誤那個醜醜的頁面的處理。 內容簡介: WebView Cookie的相關使用! 錯誤頁

Android WebView設定cookie

Android中WebView載入網頁,有時候需要通過cookie想網頁傳遞資訊,這時候這樣操作。 首先設定接收cookie: CookieManager.setAcceptFileSchemeCookies(true); CookieManager.getInstanc

Android webview 設定cookie 保持登入狀態

在專案開發中用webview載入html,使用者在html裡登入,需求是當用戶殺掉程序重新進入App的時候要保持使用者的登入狀態,Android 原生的webview是不記錄登入狀態的,這時候需要我們進入頁面的時候取出cookie,退出的時候在生命週期裡儲存cookie,網

android 通過設定cookie解決app 登入後WebView還要重新登陸問題

問題描述:因為需要在app里加入html,所以使用了webView,但是第一次進入webview時,需要在webview頁面重新登陸,為了解決這一問題花了大量的時間,所以分享給遇到問題的朋友們。 入下的方法是通過設定cookie來解決 在 webView.l

Androidwebview設定引數

WebView webTest = findViewById(R.id.webview); WebSettings settings = webTest.getSettings(); settings.setJavaScriptEnabled(true)

Android在應用設定關閉許可權,返回生命週期處理

問題 在處理6.0執行時許可權時,很多人都忽略了這樣一個問題: 在一個App應用裡,如果已經允許了一個許可權比如(讀取通訊許可權),此刻去呼叫相機,彈出許可權申請對話方塊,此刻點選拒絕,然後經過處理後彈出去設定許可權介面(因為許可權總歸是要申請),如果再在置介面裡開啟應用許

android WebView設定最大高度

當我們在dialog中嵌入webview來顯示網頁資訊時,如果網頁內容足夠長,則會出現dialog高度被撐滿屏,但是介於美觀問題,我們會試圖動態設定webview的最大高度,可是遺憾的是,谷歌並沒有給我們提供這個方法,聰明人想出了聰明的辦法,具體請看下面程式碼: publ