问题可能是由于链接中存在非ASCII字符或非法字符而导致的。要解决此问题,您可以使用以下代码:
DownloadManager.Request request = new DownloadManager.Request(Uri.parse(url)); request.setAllowedNetworkTypes(DownloadManager.Request.NETWORK_MOBILE | DownloadManager.Request.NETWORK_WIFI); request.setAllowedOverRoaming(false); request.setTitle(name); request.setDescription(description); request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED); request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, fileName);
String mimeType = MimeTypeMap.getSingleton().getMimeTypeFromExtension(MimeTypeMap.getFileExtensionFromUrl(url)); if (mimeType != null) { request.setMimeType(mimeType); }
DownloadManager downloadManager = (DownloadManager) context.getSystemService(Context.DOWNLOAD_SERVICE); long downloadId = downloadManager.enqueue(request);
如果您遇到此问题,请尝试使用上述代码段更改下载请求并使用DownloadManager下载文件。
上一篇:AndroidDownloadManager是如何工作的?
下一篇:AndroidDownloadManager下载损坏的文件/下载后无法打开文件/Retrofit身份验证令牌在下载管理器中使用。