在Android 9之前的版本中,TLS 1.2或更高版本可能未被默认启用,这可能会导致SSL连接失败。 解决此问题的方法之一是在应用程序代码中显式启用TLS 1.2协议。您可以使用以下代码示例来实现:
try { SSLContext sslContext = SSLContext.getInstance("TLSv1.2"); sslContext.init(null, null, null); HttpsURLConnection.setDefaultSSLSocketFactory(sslContext.getSocketFactory()); } catch (Exception e) { e.printStackTrace(); }
这将为应用程序默认的SSL套接字工厂设置TLS 1.2。
此外,还可以通过在应用程序清单中添加以下配置来启用TLS 1.2:
并在res/xml文件夹中创建network_security_config.xml文件,并将以下内容复制到该文件中:
这将强制只使用TLS 1.2或更高版本的协议与您的应用程序通信。