【发布时间】:2016-08-28 10:51:53
【问题描述】:
我有一个 android 应用程序在 android 4.0.X 、 4.1.X 、 4.2.X 上无法通过 https 协议与服务器端的 API 通信。
官方文档说支持 TLS 1.2,但默认不启用。我还没有找到一种使用 Codename one 启用它的方法;如何在 android / Codename one 应用上启用 TLS 1.2?
【问题讨论】:
标签: ssl codenameone tls1.2
我有一个 android 应用程序在 android 4.0.X 、 4.1.X 、 4.2.X 上无法通过 https 协议与服务器端的 API 通信。
官方文档说支持 TLS 1.2,但默认不启用。我还没有找到一种使用 Codename one 启用它的方法;如何在 android / Codename one 应用上启用 TLS 1.2?
【问题讨论】:
标签: ssl codenameone tls1.2
您需要创建一个本地接口调用,然后在本地部分使用此处说明的方法之一:How to enable TLS 1.2 support in an Android application (running on Android 4.1 JB)
您可以通过guideline here 或developer guide coverage of this 创建原生界面。
【讨论】:
public class NativeCallImpl { public void updateSecurityRules() { try{ ProviderInstaller.installIfNeeded(getApplicationContext()); }catch(Exception exception){ } }
try{ ProviderInstaller.installIfNeeded(getBaseContext()); }catch(Exception exception){ }
ProviderInstaller 类添加了导入语句?请注意,您可以编辑您的问题并在其下方写下“更新”,然后发布您尝试过的本机代码和您收到的错误消息,或者您可以创建一个与错误相关的新问题。您还可以提出问题,要求我们默认添加该代码,因为我不确定默认打开此代码的含义,我们需要研究codenameone.com/blog/issue-submission-guideline.html
public void updateSecurityRules() { try { com.google.android.gms.security.ProviderInstaller.installIfNeeded((android.content.Context) MainClass.getContext()); } catch (com.google.android.gms.common.GooglePlayServicesRepairableException e) { e.printStackTrace(); } catch (com.google.android.gms.common.GooglePlayServicesNotAvailableException e) { e.printStackTrace(); } }它运行良好。