日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

关于Webview如何自动登录保存登录信息

發布時間:2023/12/15 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 关于Webview如何自动登录保存登录信息 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

[Android實例] 關于Webview如何自動登錄保存登錄信息

用戶名密碼登錄驗證后保存Session

// 你的URLHttpPost httppost = new HttpPost(Constants.ServerUrl.WEB_URL + url);try {List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);// Your DATAnameValuePairs.add(new BasicNameValuePair("UserName", map.get("UserName")));nameValuePairs.add(new BasicNameValuePair("Password", map.get("Password")));httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));HttpResponse response;response = httpclient.execute(httppost);if (response.getStatusLine().getStatusCode() == 200) {// 獲得響應String result = EntityUtils.toString(response.getEntity());// SharedPreferences preferences = context.getSharedPreferences(// "login", Context.MODE_PRIVATE);// Editor editor = preferences.edit();// String handlers = "";String cookie = "";Date sessionTime = new Date();List<Cookie> cookies = httpclient.getCookieStore().getCookies();if (!cookies.isEmpty()) {for (int i = 0; i < cookies.size(); i++) {cookie = cookies.get(i).getName() + "="+ cookies.get(i).getValue() + ";domain="+ cookies.get(i).getDomain();;sessionTime = cookies.get(i).getExpiryDate();}}//保存sessionPersistentConfig config = new PersistentConfig(context);config.setCookie(cookie);config.setSessionTime(sessionTime.getTime());// for (int i = 0; i < response.getAllHeaders().length; i++) {// if (response.getAllHeaders()<i>.toString().contains(// "set-cookie")) {// handlers += response.getAllHeaders()<i>.toString();// break;// }// }//// editor.putString("cookies",// response.getHeaders("Set-Cookie")[0].toString());// editor.commit();return result;}} catch (ClientProtocolException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}

如何在Webview請求網站時使用Session

//webview初始化的時候調用 main_view = (WebView) findViewById(R.id.main_webview); new WebViewTask().execute(); private class WebViewTask extends AsyncTask<Void, Void, Boolean> { String sessionCookie; CookieManager cookieManager; @Override protected void onPreExecute() { CookieSyncManager.createInstance(MainActivity.this); cookieManager = CookieManager.getInstance(); sessionCookie = new PersistentConfig(getApplicationContext()) .getCookieString(); if (sessionCookie != null) { // delete old cookies cookieManager.removeSessionCookie(); } super.onPreExecute(); } protected Boolean doInBackground(Void... param) { // this is very important - THIS IS THE HACK SystemClock.sleep(1000); return false; } @Override protected void onPostExecute(Boolean result) { if (sessionCookie != null) { cookieManager.setCookie(Constants.ServerUrl.WEB_URL, sessionCookie); CookieSyncManager.getInstance().sync(); } main_view.setScrollbarFadingEnabled(true); main_view.getSettings().setPluginsEnabled(true); main_view.getSettings().setPluginState(PluginState.ON); main_view.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY); WebSettings webSettings = main_view.getSettings(); webSettings.setJavaScriptEnabled(true); // 設置可以訪問文件 webSettings.setAllowFileAccess(true); // 設置支持縮放 webSettings.setBuiltInZoomControls(true); main_view.setWebViewClient(new WebViewClient() { @Override public void onPageStarted(WebView view, String url, Bitmap favicon) { // TODO Auto-generated method stub super.onPageStarted(view, url, favicon); } @Override public void onLoadResource(WebView view, String url) { // history(); } }); main_view.setWebChromeClient(new WebChromeClient() { public void onProgressChanged(WebView view, int progress) { //Change } }); ShowUrlView(Constants.ServerUrl.INDEX); } }

總結

以上是生活随笔為你收集整理的关于Webview如何自动登录保存登录信息的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。