在android系统4.4+之间的HttpClient和web视图问题分享会

我共享HTTP客户端和网络之间的会话查看它工作正常,我的是Android 4.1或更早的版本,但它不是在4.4或以上版本的工作吗? 我不能够找出reason.any帮助将不胜感激我的代码

public class AppSettings extends Application { private static final DefaultHttpClient client = createClient(); @Override public void onCreate() { } public static DefaultHttpClient getClient() { return client; } private static DefaultHttpClient createClient() { BasicHttpParams params = new BasicHttpParams(); SchemeRegistry schemeRegistry = new SchemeRegistry(); schemeRegistry.register(new Scheme("http", PlainSocketFactory.getSocketFactory(), 80)); final SSLSocketFactory sslSocketFactory = SSLSocketFactory.getSocketFactory(); schemeRegistry.register(new Scheme("https", sslSocketFactory, 443)); ClientConnectionManager cm = new ThreadSafeClientConnManager(params, schemeRegistry); DefaultHttpClient httpclient = new DefaultHttpClient(cm, params); httpclient.getCookieStore().getCookies(); return httpclient; } }

同时使htt​​p请求我使用下面的代码

try { DefaultHttpClient mClient = AppSettings.getClient(); HttpPost httppost = new HttpPost(url); httppost.setEntity(new UrlEncodedFormEntity(nameValuePair)); //httppost.setEntity(responseBody); HttpResponse response = mClient.execute(httppost); if (response != null) { responseBody = EntityUtils.toString(response.getEntity()); } else { CustomLogger.showLog("Beta", "Response is null"); } } catch (Exception e) { CustomLogger.showLog("Beta", "Exception in Sending data"); e.printStackTrace(); }

为了与web视图分享我使用下面的代码

webView.setWebViewClient(new WebViewClient() { @Override public void onPageStarted(WebView view, String url, Bitmap favicon) { super.onPageStarted(view, url, null); CustomLogger.showLog("Beta", "onPage Started url is" + url); webView.setVisibility(View.GONE); progress_loader.setVisibility(View.VISIBLE); DefaultHttpClient mClient = AppSettings.getClient(); Cookie sessionInfo; List<Cookie> cookies = mClient.getCookieStore().getCookies(); if (!cookies.isEmpty()) { CookieSyncManager.createInstance(getActivity()); CookieManager cookieManager = CookieManager.getInstance(); for (Cookie cookie : cookies) { sessionInfo = cookie; String cookieString = sessionInfo.getName() + "=" + sessionInfo.getValue() + "; domain=" + sessionInfo.getDomain(); CustomLogger.showLog("Beta", "cookie string is " + cookieString); cookieManager.setCookie("http://www.example.com", cookieString); CookieSyncManager.getInstance().sync(); } } else { CustomLogger.showLog("Beta", "No cookies"); } } }

--------------解决方案-------------

I't很难说没有看到些木柴和确切的错误信息。 但是Android 4.4添加SSL证书牵制。 我会通过验证你的代码工作正常,没有SSL启动。 然后检查代码正确处理SSL握手,你不混合web视图和HTTP客户端之间的证书。

我已经解决了我的问题。 Web视图OnPageStarted事件获取调用两次,我被检索的cookie,请参阅本link.With简单的计数器,我限制cookie的检索只在第一个场合,现在其工作罚款

分类:安卓 时间:2012-01-01 人气:0
分享到:

相关文章

  • 机器人 - 如何显示Web视图方向 2015-01-21

    在我的应用我想显示使用谷歌地图两个地理点之间的路线WebView . 我试过,但它没有显示方向,它只显示符号页面. 怎么做? public class android_testing extends Activity { public WebView webview; protected ProgressDialog web_pd; final Handler rb_web_pd_Handler = new Handler(); @Override public void onCreate(Bu

  • 在web视图饼干的Andr​​oid问题 2012-08-20

    您好,我需要打开它的饼干中有一个网站的页面. 我已经创建了一个web视图打开网页开放之前,我在我的网站记录和获取Cookie,但我仍然登陆website.Following的登录页面是我的代码 CookieSyncManager.createInstance(this); CookieManager cookieManager = CookieManager.getInstance(); cookieManager.setAcceptCookie(true); if (cookie != nul

  • 如何设置锚标记的mailto:属性在web视图,机器人 2013-02-14

    我试图设置定位标记的mailto属性类似 <a href='mailto:info@company.com'>info@company.com</a> 在web视图. 当我运行模拟器上的应用程序,并单击它显示链接"不支持的行动." 如何设置的mailto属性工作在机器人的WebView .... 谢谢 --------------解决方案------------- 的WebView不支持高级HTML标签......你将要做的是: 设置Web客户机到你的web视图

  • 拦截下载web视图中,并使用下载的HttpClient 2013-10-02

    我创建直接链接到一个链接,因为该网站有复杂的重定向检查,以防止我从直接连接的,而不是web视图. 然而,为了使下载完成,用户必须长按链接,并将其保存. 用户感到困惑. 他们认为它坏了. 我想知道是否有可能以某种方式全面获得所有的web视图已属于该会话的信息,并将其传递给HttpClient的,如果我可以再拦截和下载文件. 我担心的是,即使我能以某种方式开始下载使用HttpClient的文件,我有同样的问题,当我试图手动设置参考标头也没有用了. --------------解决方案--------

  • 下载文件到Android web视图(没有在代码下载事件或了HTTPClient) 2014-03-05

    这更多的是出于好奇比需要解决一个真正的问题的问题. 我做了一个Android应用程序,其中包含一个web视图. 我用的是应该重写URL方法使任何链接点击将在网页视图中打开. 后来我决定的文件会从服务器向用户设备下载. 不幸的是我从来没有见过的setDownloadListener方法. 当用户点击链接后下载没有启动. 至于我可以告诉我需要更新适当代码,即下载监听器或HttpClient的,这是正常的应用程序. (在听起来像一个白痴的风险),我想知道,有没有办法通过从服务器的操作,我可以做的Web

  • 饼干和web视图 - CookieSyncManager在Android的! 2015-02-15

    我有一个活动,让您登录到页面. 在接下来的活动应当显示基于cookie的网页如果登录成功. 该Cookie retrived,我试图把它与下面的代码web视图: Cookie sessionCookie = LoginWebView.cookie; CookieSyncManager.createInstance(webview.this); CookieManager cookieManager = CookieManager.getInstance(); if (sessionCookie

  • 我如何“听”的东西在web视图,机器人? 2012-06-25

    private class HelloWebViewClient extends WebViewClient { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; } } /** Called when the activity is first created. */ @Override public void onCreat

  • 机器人 - web视图中显示的图片,are'nt在文件系统 2013-10-08

    我怎么能显示图片WebView而不保存图片到文件系统? 我试图实现我的自定义ContentProvider但方法openFile返回ParcelFileDescriptor指向到文件系统(或插座). 我的图片是在文件系统,但是以加密的形式. 我曾尝试也URL.setURLStreamHandlerFactory但在Android的Java的它是无用的(因为自定义StreamHandler中可以登记在不允许JVM). 我也尝试HTML代码"IMG SRC = \"数据:Image.gif

  • 机器人web视图不能被设置到触摸听者后滚动 2014-03-22

    预期结果 Web视图可以滚动,并能以手势,如移动或一扔回应. 我想知道的是像Facebook应用程序. 假设我们有由一个控制栏(上部右侧下方的状态栏)的内容视图和显示一些网页的Web视图. 在上面的控制条有一个在左上角的菜单切换按钮,可以打开和关闭菜单窗格视图. 菜单是由移动内容视图向右示出,并且是通过移动内容视图回到其原来的位置隐藏. 相反,点击菜单切换按钮,一个一扔或Web视图的阻力也将实现隐藏菜单. 问题 什么都没有发生,当我试图在Web视图来滚动Web视图设置为触摸监听器后. 源代码 M

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.600 (s). 10 q(s)