android - 在 KitKat 上使用 DownloadManager 时出现 javax.net.ssl.SSLHandshakeException(无止境的进步)
问题描述
我正在尝试使用以下代码下载文件:
DownloadManager downloadManager = (DownloadManager) activity.getSystemService(Context.DOWNLOAD_SERVICE);
DownloadManager.Request dRequest = new DownloadManager.Request(downloadUri);
downloadManager.enqueue(dRequest);
怎么了?
设备 > KitKat
一切正常,我可以正确看到本机通知,正在更新进度,并且正在将文件下载到 Download/ 文件夹。
设备 <= KitKat
我正确地看到了本机通知,系统尝试下载文件但发生错误。通知进度永远保持(无限进度)
我在 logcat 中看到的错误是:
W/DownloadManager: Aborting request for download 55: while trying to execute request: javax.net.ssl.SSLHandshakeException: javax.net.ssl.SSLProtocolException: SSL handshake aborted: ssl=0x752e2028: Failure in SSL library, usually a protocol error
error:1407742E:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert protocol version (external/openssl/ssl/s23_clnt.c:741 0x621ebd38:0x00000000) FinalStatus = 495
一些见解:
- 尝试从设备 Chrome 应用程序下载示例 zip 文件,但它也无法正常工作,直到谷歌上次更新 Chrome。
- 如果我将 https 替换为 http,它可以工作,但这对我来说不是一个好的解决方案
非常感谢您的帮助!
解决方案
推荐阅读
- sql-server - 通过批量导入导入 SQL Server CSV 文件(无法解析带有双引号和逗号值的列)
- python - 我有一系列 sst 数据的 netcdf 文件。我想计算 sst 梯度来定位海洋前沿
- python - Gridsearch CV 在不同数据中训练时给出不同的最佳参数
- c# - 垃圾收集器是否收集了视图模型?我怎么查?
- elm - 将多个复杂的父操作传递给深度嵌套的子视图
- ubuntu - 使用问题:wget [OPTION] ... [URL]
- jquery - 数据表警告:
- java - 是否可以在 Junit5 中禁用参数化测试基础参数
- css - Prestashop 编辑标题 css
- android - 在 Android Q 上使用 Glide 以“content://”方案显示来自 URI 的图像