`
shuai1234
  • 浏览: 972601 次
  • 性别: Icon_minigender_1
  • 来自: 山西
社区版块
存档分类
最新评论

phonegap 解决https访问问题

 
阅读更多

对于还没购买SSL证书的域名,在app端访通过https访问的时候是无法访问成功的,解决办法是在你程序的主activity里重写makeWebViewClient方法,返回我们自己定义的CordovaWebViewClient,在我们自己定义的CordovaWebViewClient 继承CordovaWebViewClient,然后重写onReceivedSslError方法,方法里直接“ handler.proceed();”,不处理错误,代码如下:

 

 

main.Java,友盟继承的可以不用看:

 

[java] view plain copy
 
 在CODE上查看代码片派生到我的代码片
  1. public class main extends CordovaActivity   
  2. {  
  3.         
  4.     @Override  
  5.     public void onCreate(Bundle savedInstanceState)  
  6.     {  
  7.         super.onCreate(savedInstanceState);  
  8.         UmengUpdateAgent.setUpdateOnlyWifi(false);  
  9.         UmengUpdateAgent.update(this);  
  10.         super.init();  
  11.         // Set by <content src="index.html" /> in config.xml  
  12.         super.loadUrl(Config.getStartUrl());  
  13.         
  14.         //super.loadUrl("file:///android_asset/www/index.html")  
  15.     }  
  16.   
  17.     @Override  
  18.     protected CordovaWebViewClient makeWebViewClient(CordovaWebView webView) {  
  19.         // TODO Auto-generated method stub  
  20.          if(android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.HONEYCOMB) {  
  21.                 return new SSLAcceptingCordovaWebViewClient(this, webView);  
  22.             } else {  
  23.                 return new SSLAcceptingIceCreamCordovaWebViewClient(this, webView);  
  24.             }  
  25.     }  
  26. }  


SSLAcceptingCordovaWebViewClient:

 

 

[java] view plain copy
 
 在CODE上查看代码片派生到我的代码片
  1. import org.apache.cordova.CordovaInterface;  
  2. import org.apache.cordova.CordovaWebView;  
  3. import org.apache.cordova.CordovaWebViewClient;  
  4. import org.apache.cordova.DroidGap;  
  5.   
  6. import android.net.http.SslError;  
  7. import android.webkit.SslErrorHandler;  
  8. import android.webkit.WebView;  
  9.   
  10. public class SSLAcceptingCordovaWebViewClient extends CordovaWebViewClient{  
  11.       
  12.     public SSLAcceptingCordovaWebViewClient(CordovaInterface cordova, CordovaWebView view) {  
  13.         super(cordova, view);  
  14.         // TODO Auto-generated constructor stub  
  15.     }  
  16.   
  17.         @Override  
  18.         public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {  
  19.             // testing against getPrimaryError() or hasErrors() will fail on Honeycomb or older.  
  20.             // You might check for something different, such as specific info in the certificate,  
  21.             //if (error.getPrimaryError() == SslError.SSL_IDMISMATCH) {  
  22.                 handler.proceed();  
  23.             //} else {  
  24.             //    super.onReceivedSslError(view, handler, error);  
  25.             //}  
  26.         }  
  27. }  


SSLAcceptingIceCreamCordovaWebViewClient.java,名字有点长,网上参考下来的,也懒得去改了:

 

 

[java] view plain copy
 
 在CODE上查看代码片派生到我的代码片
  1. import org.apache.cordova.CordovaInterface;  
  2. import org.apache.cordova.CordovaWebView;  
  3. import org.apache.cordova.IceCreamCordovaWebViewClient;  
  4.   
  5. import android.net.http.SslError;  
  6. import android.webkit.SslErrorHandler;  
  7. import android.webkit.WebView;  
  8.   
  9. public class SSLAcceptingIceCreamCordovaWebViewClient extends IceCreamCordovaWebViewClient {  
  10.     public SSLAcceptingIceCreamCordovaWebViewClient(CordovaInterface cordova, CordovaWebView view) {  
  11.         super(cordova, view);  
  12.     }  
  13.   
  14.     @Override  
  15.     public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {  
  16.         handler.proceed();  
  17.     }  
  18. }  
分享到:
评论

相关推荐

    PhoneGap介绍与原理

    为了使Web技术能够访问设备的原生功能(如摄像头、GPS等),PhoneGap提供了一个桥接器(Bridge),使得Web应用程序能够调用原生代码。 - **桥接机制**:PhoneGap的核心是一个桥接层,它负责将Web端发出的请求转发给...

    PhoneGap Build的使用

    本文将围绕着如何通过PhoneGap Build生成Android系统的安装程序,并讨论在此过程中可能遇到的一些常见问题及其解决方案。 #### 二、准备工作 在开始使用PhoneGap Build之前,确保你已经完成了以下步骤: 1. **...

    PhoneGap Demo下载.rar

    同时,这也是检查和解决PhoneGap环境问题的一个好方法,如果你在搭建环境时遇到困难,对照这个Demo的配置和运行过程,或许能帮你找到问题所在。 总的来说,"PhoneGap Demo下载.rar"是一个帮助开发者理解和实践...

    phonegap在线更新插件(android)

    本插件专注于PhoneGap在Android平台上的在线更新功能,旨在解决一个特定的问题:即在Android 7.0及以上版本中,通过下载安装APK更新时可能出现的应用闪退现象。 在Android系统中,特别是从7.0版开始,谷歌引入了更...

    phonegap2.5

    通过PhoneGap,开发者可以利用他们熟悉的Web技术来创建应用,同时利用PhoneGap提供的API接口访问设备的硬件功能,如摄像头、GPS、联系人列表等。 在PhoneGap 2.5 版本中,有两个核心组件:`cordova-2.5.0.jar` 和 `...

    phoneGap deskTop win+mobile apk

    这个"phoneGap deskTop win+mobile apk"压缩包文件包含了PhoneGap Desktop应用以及适用于移动设备的APK安装包,旨在为开发者提供一套完整的开发和测试解决方案。 PhoneGap的核心原理是利用WebView组件,将Web应用...

    Phonegap 2.9.1

    8. **社区支持**:PhoneGap有一个庞大的开发者社区,提供了丰富的教程、示例代码和插件库,帮助开发者解决问题并加速开发进程。 9. **版本更新**:虽然2.9.1是一个较旧的版本,但其后的版本(如3.x及更高版本)引入...

    phonegap拍照的获取图片和设置问题

    这篇博客“phonegap拍照的获取图片和设置问题”可能会探讨如何在PhoneGap应用中集成这一功能,以及在实现过程中可能遇到的问题和解决方案。 首先,PhoneGap提供了`cordova-plugin-camera`插件,用于访问设备的...

    PhoneGap开发者指南源码

    3. **应用商店发布**:了解各个应用商店的提交指南,如何进行应用签名,以及解决审核过程中的问题。 通过这份"PhoneGap开发者指南源码",开发者不仅能学习到PhoneGap的基本用法,还能深入理解其工作原理,进而开发...

    深入浅出 phonegap 代码

    6. **调试工具**: PhoneGap 提供了一系列的调试工具和日志记录功能,帮助开发者在开发过程中找出并解决问题。例如,可以使用Chrome开发者工具进行远程调试,或者利用console.log()来查看应用的日志输出。 7. **社区...

    移动开发框架PhoneGap(cordova)

    - **丰富的社区支持**: 众多开源插件和教程,解决问题方便。 - **成本节约**: 相比于原生开发,PhoneGap降低了开发成本和时间。 **4. PhoneGap的局限性** - **性能问题**: 由于依赖WebView,某些复杂操作可能不如...

    自定义plugin插件实现phonegap与Android交互

    然而,虽然JavaScript可以处理大部分的前端逻辑,但当涉及到与设备硬件或操作系统更深度的交互时,例如访问摄像头、GPS或调用系统API,就需要借助PhoneGap的Plugin机制。 在"自定义plugin插件实现phonegap与Android...

    iOS 使用PhoneGap 开发HTML5 的APP

    PhoneGap是一种开源框架,它允许开发者使用HTML5、CSS3和JavaScript来构建原生的移动应用程序...尽管它简化了开发流程,但理解原生iOS开发的基本概念仍然是很有帮助的,因为这将有助于解决PhoneGap无法覆盖的复杂问题。

    phonegap 1.4.1

    6. **社区支持**:PhoneGap有一个庞大的开发者社区,提供了丰富的插件和教程资源,帮助开发者扩展其功能或解决开发过程中遇到的问题。 7. **更新迭代**:尽管1.4.1版本较旧,但PhoneGap后续版本不断演进,增加了更...

    phonegap 2.7版本

    同时,可能也对调试工具进行了改进,帮助开发者更快定位和解决问题。 总的来说,PhoneGap 2.7 版本的发布,为开发者带来了更稳定的开发环境、更丰富的功能支持和更高效的开发流程。通过修复已知问题和添加新特性,...

    phonegap学习资料

    通过上述内容的学习,我们可以看出 **PhoneGap** 提供了一种强大的解决方案,使得开发者能够使用 Web 技术构建出跨平台的应用程序。同时,通过结合各种第三方库和插件,开发者可以轻松地为应用程序添加更多复杂的...

    Phonegap入门资料

    - 介绍如何通过JSONP解决跨域问题,并实现带有参数的GET请求。 - 在服务器端定义处理方法和回调函数,确保数据安全传输。 - 客户端使用jQuery库简化了请求过程。 #### 六、总结 PhoneGap作为一款优秀的跨平台...

    phonegap 微信共享插件

    PhoneGap微信共享插件是为了解决在移动应用开发中集成微信分享功能而设计的。PhoneGap,一个基于HTML5、CSS3和JavaScript的开源框架,允许开发者使用这些Web技术来构建原生的移动应用程序。它通过封装设备的API,...

    phoneGap实例

    PhoneGap是一种开源框架,它允许开发者使用HTML5、CSS3和...同时,这些实例也提供了良好的学习资源,帮助开发者解决在实际开发中遇到的问题。对于想要提升PhoneGap技能的开发者来说,深入研究这些实例将大有裨益。

Global site tag (gtag.js) - Google Analytics