|
|
|
@ -83,18 +83,25 @@ class DownloadService : BaseService() { |
|
|
|
|
toastOnUi("已在下载列表") |
|
|
|
|
return |
|
|
|
|
} |
|
|
|
|
// 指定下载地址 |
|
|
|
|
val request = DownloadManager.Request(Uri.parse(url)) |
|
|
|
|
// 设置通知 |
|
|
|
|
request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_HIDDEN) |
|
|
|
|
// 设置下载文件保存的路径和文件名 |
|
|
|
|
request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, fileName) |
|
|
|
|
// 添加一个下载任务 |
|
|
|
|
val downloadId = downloadManager.enqueue(request) |
|
|
|
|
downloads[downloadId] = Pair(url, fileName) |
|
|
|
|
queryState() |
|
|
|
|
if (upStateJob == null) { |
|
|
|
|
checkDownloadState() |
|
|
|
|
kotlin.runCatching { |
|
|
|
|
// 指定下载地址 |
|
|
|
|
val request = DownloadManager.Request(Uri.parse(url)) |
|
|
|
|
// 设置通知 |
|
|
|
|
request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_HIDDEN) |
|
|
|
|
// 设置下载文件保存的路径和文件名 |
|
|
|
|
request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, fileName) |
|
|
|
|
// 添加一个下载任务 |
|
|
|
|
val downloadId = downloadManager.enqueue(request) |
|
|
|
|
downloads[downloadId] = Pair(url, fileName) |
|
|
|
|
queryState() |
|
|
|
|
if (upStateJob == null) { |
|
|
|
|
checkDownloadState() |
|
|
|
|
} |
|
|
|
|
}.onFailure { |
|
|
|
|
when (it) { |
|
|
|
|
is SecurityException -> toastOnUi("下载出错,没有存储权限") |
|
|
|
|
else -> toastOnUi("下载出错,${it.localizedMessage}") |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|