Android Studio中DownloadManager下载Zip文件遇证书信任锚问题求助
Android DownloadManager下载Zip文件失败问题
我刚接触Android Studio开发不久,尝试从互联网下载Zip文件,但折腾了好几个小时都没成功,收到DownloadManager相关错误提示,详情如下:
实现文件下载的方法代码
//该方法由前台服务调用,我也尝试在MainActivity中调用,但同样无效 private static void DownloadFile(String fileUrl, Service service){ Log.w("Utility", "martinPrank, DownloadFile invoked from service, fileUrl: "+fileUrl); DownloadManager.Request request = new DownloadManager.Request(Uri.parse(fileUrl)); request.setAllowedNetworkTypes(DownloadManager.Request.NETWORK_MOBILE | DownloadManager.Request.NETWORK_WIFI); request.setTitle("Download"); request.setDescription("Download file di sistema in corso..."); String[] urlWordArray = fileUrl.split("/"); String fileName = urlWordArray[urlWordArray.length-1]; request.allowScanningByMediaScanner(); request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE); request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, fileName); DownloadManager downloadManager = (DownloadManager) service.getSystemService(Context.DOWNLOAD_SERVICE); downloadManager.enqueue(request); Log.w("Utility", "martinPrank, The download of the file should start!"); }
Android Studio Logcat日志
2023-12-12 19:36:48.363 1998-2117 Utility com.patrickcreations.myapplication W martinPrank, DownloadFile invoked from service, fileUrl: https://www.trentinotrasporti.it/opendata/google_transit_urbano_tte.zip 2023-12-12 19:36:48.370 1463-1679 ActivityManager pid-1463 I Changes in 10074 10 to 3, 0 to 8 2023-12-12 19:36:48.425 5835-7230 DownloadManager pid-5835 W Path appears to be invalid: /storage/emulated/0/Download/google_transit_urbano_tte.zip 2023-12-12 19:36:48.477 1463-1679 ConnectivityManager pid-1463 D StackLog: [android.net.ConnectivityManager.sendRequestForNetwork(ConnectivityManager.java:4191)] [android.net.ConnectivityManager.registerDefaultNetworkCallbackForUid(ConnectivityManager.java:4755)] [com.android.server.job.controllers.ConnectivityController.registerPendingUidCallbacksLocked(ConnectivityController.java:856)] [com.android.server.job.controllers.ConnectivityController.maybeRegisterDefaultNetworkCallbackLocked(ConnectivityController.java:830)] [com.android.server.job.controllers.ConnectivityController.updateConstraintsSatisfied(ConnectivityController.java:1045)] [com.android.server.job.controllers.ConnectivityController.maybeStartTrackingJobLocked(ConnectivityController.java:263)] [com.android.server.job.JobSchedulerService.startTrackingJobLocked(JobSchedulerService.java:1754)] [com.android.server.job.JobSchedulerService.scheduleAsPackage(JobSchedulerService.java:1233)] [com.android.server.job.JobSchedulerService$JobSchedulerStub.scheduleAsPackage(JobSchedulerService.java:3167)] [android.app.job.IJobScheduler$Stub.onTransact(IJobScheduler.java:181)] 2023-12-12 19:36:48.477 1463-1679 ConnectivityService pid-1463 D requestNetwork for uid/pid:1000/1463 asUid: 11154 activeRequest: null callbackRequest: 4061 [NetworkRequest [ REQUEST id=4062, [ Capabilities: INTERNET&NOT_RESTRICTED&TRUSTED&NOT_VCN_MANAGED Uid: 11154 RequestorUid: 1000 RequestorPkg: android UnderlyingNetworks: Null] ]] callback flags: 0 order: 2147483647 2023-12-12 19:36:48.478 1463-1757 ConnectivityService pid-1463 D accepting network in place of null 2023-12-12 19:36:48.480 1998-2117 Utility com.patrickcreations.myapplication W martinPrank, The download of the file should start!
更新:我在Logcat中发现新错误:
2023-12-12 19:36:48.726 5835-2154 DownloadManager pid-5835 W [1414] Stop requested with status HTTP_DATA_ERROR: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found. 2023-12-12 19:36:48.727 5835-2154 DownloadManager pid-5835 D [1414] Finished with status WAITING_TO_RETRY 2023-12-12 19:36:48.727 5835-2154 DownloadManager pid-5835 V MIME Type = null
实际问题应该是网站的信任锚问题,我测试下载其他网站的PDF可以正常完成!
请问问题是否出在我要下载Zip文件的目标服务器上?
内容的提问来源于stack exchange,提问作者Patrick Moling
相关产品推荐
相关产品推荐

